使用 HTML 编码时,为啥视频在某些 Android 设备上加载,而在其他设备上不加载?

Posted

技术标签:

【中文标题】使用 HTML 编码时,为啥视频在某些 Android 设备上加载,而在其他设备上不加载?【英文标题】:When coding in HTML, why does video load on some Android devices and not others?使用 HTML 编码时,为什么视频在某些 Android 设备上加载,而在其他设备上不加载? 【发布时间】:2016-01-09 23:32:38 【问题描述】:

我的应用中包含的视频仅适用于某些设备。例如,它可以在 iPhone、Galaxy S6、Nexus 6 等设备上完美运行。但是,视频在 Note 4 上无限加载。有没有人对此有解决方案?

这是我如何调用视频的 sn-p。

<ion-view view-title="Compensation Philosophy">
    <ion-content has-bouncing="false"; overflow-scroll="true" >
        <div class="video-container">
            <video controls class="videox" 
                src="VideoResources/Pennacchio_Rewards_Philosophy.mov"    
                poster="VideoResources/sshot.png"></video>
                </div>

【问题讨论】:

请添加您的部分源代码,如何在您的应用中包含视频,您使用的库、包等... 【参考方案1】:

我认为这主要是因为视频编码。您应该通过从互联网上搜索一些示例视频来尝试它们,一旦您发现一些视频正在运行而您的视频无法正常运行,那么也许经过比较,您可能能够找出您的手机支持的所有格式。

例如,参考: https://developer.mozilla.org/en-US/docs/Web/html/Supported_media_formats

【讨论】:

【参考方案2】:

@Darshak, Digish 接近正确答案。

来自Supported Media Formats | android Developers

下表描述了 Android 平台内置的媒体格式支持。 请注意,任何给定的移动设备都可能支持表中未列出的其他格式或文件类型

注意:不能保证在所有 Android 平台版本上都可用的媒体编解码器相应地在括号中注明,例如“(Android 3.0+)”。

H.263 H.264 AVC - (Android 3.0+) - H.265 HEVC - - (Android 5.0+) MPEG-4 SP VP8 - (Android 4.3+) (Android 2.3.3+) VP9 - - (Android 4.4+)

您可以看到不同的格式以及何时支持编码解码。此外,某些格式需要硬件,如文档所述,移动设备可能会提供对其他格式或文件类型的支持

所以要完整回答这个问题,如果移动设备没有提供解码视频的解决方案,那么浏览器也没有提供解决方案;因此,当浏览器没有解决方案时,HTML 不提供解决方案。

【讨论】:

我明白了,所以 .mov 文件无法在某些 Android 设备上播放?我的是专门运行 4.4.4。你认为我应该转换成不同的文件格式吗? 回答您的问题。在 #1 上,是的 - .mov 文件可能无法在某些 Android 设备上播放。在 #2 上,如果您希望文件在 Android 上播放,请将其转换为已知格式之一。从上面的列表中,我不会转换为 HEVC。这是list of video encoding formats recommend by Android。注意,有两张表,一张用于h.264,一张用于VP8

以上是关于使用 HTML 编码时,为啥视频在某些 Android 设备上加载,而在其他设备上不加载?的主要内容,如果未能解决你的问题,请参考以下文章

使用 HTML5 视频标签时,某些视频在移动设备上显示为白屏

为啥某些隐藏单元在 GRU 自动编码器中返回零?

为啥 PHP 会干扰我的 HTML5 MP4 视频?

使用ffmpeg libavcodec将视频流编码为H264,为啥持续时间为零

为啥编码标头内容类型:text/html;在 Outlook 插件中使用 MailItem 时缺少 GMAIL 的 SMTP 服务器:SMTP.GMAIL.COM?

MediaCodec编码结合FFmpeg封装流