在 html5 播放器中支持所有主要移动设备的视频编解码器设置?

标签 video html encoding mobile

Youtube 移动版使用 RTSP 流式传输,但设置和维护起来太过分了。

因此,看起来 HTML5 可能是将网站中嵌入的视频提供给移动设备的最佳方式。 (我能得到确认吗?有人不同意吗?)

还包括指向媒体文件的静态链接,以便手机可以决定如何处理它,在极端情况下下载并使用系统播放器启动它,这似乎支持更多的编解码器和东西。

问题在于正确的视频编码。

我尝试了很多,最终得到了一个可以在 Iphone 4、升级了软件的 Iphone 3 和 Android 2.1 上播放的视频文件。这就是我可用于测试的所有内容。

要使其正常工作,似乎需要以下所有条件:

Format profile                   : Baseline@L1.3
Codec ID                         : avc1

该文件还需要用 qt-faststart 处理(我不明白,因为它增加了更多要求,因为默认情况下,在 H264 规范中,视频信息在末尾编码文件。)

我搜索了很多但没有运气,所以我的问题是:

选择什么样的设置来支持尽可能多的设备,同时保持良好的压缩、质量和特性。

我是否适合 H264 (AVC) 还是有必要支持 webm/ogg 或类似的替代源?

或者换句话说:

如果您将一个 HTML5 格式的在线视频转换到移动设备。您会选择哪种编解码器设置以及原因。

我将打开其他问题,我将部分回答自己并在此处链接它们以了解如何做:

  • 兼容的 html5 播放器
  • 执行闪退或反之
  • 如何在服务器端正确编码视频,包括要求安装和各种输入文件

希望最后我能将我的视频网站全部设置好并为移动设备做好准备,并为每个人提供全面的指南。

最佳答案

推荐的方法是将视频编码 3 次:

h264、vorbis 和 webm ... 然后将它们作为源按此顺序放入 html5 标记中(因为某些设备只查看第一个),如果都失败则回退到 flash。

我不喜欢那个解决方案,因为我有 3 个视频文件要编码和存储。

所以我以相反的方式接近它,如果可能的话使用 flash 并切换到 html5 作为后备。我更喜欢那个解决方案以及 flash 播放似乎更可靠。 好吧,它会消耗更多的计算能力,所以对于高清视频,你可以辩论,但很好。

所以我最终得到了下表应该如何使用这些东西:

IE:Flash(v9 也将支持 html5/h264,但 flash 很酷) Firefox: Flash (目前只支持 theora/vorbis) Safari:尽可能使用 Flash,否则 3.0+ 版本支持 HTML5/h264 Chrome: Flash,如果 flash 不可用(不太可能)在版本 5.0+ 中支持 h264/html Opera:Flash(尚不支持 h264。Opera mobile... 无法使用。Html5 仅适用于开放格式。) 苹果手机:HTML5/h264 (3.0+) 安卓:HTML5/h264 (2.0+)

唯一要注意的是Android不使用flash,因为手机不会有流畅播放的性能,但是2.2版本就支持了……还在研究中。

那么我们现在需要什么?

可靠的 Flash 检测和 JS。 如果没有可用的 JS,我们可以显示。 html5 标签或 flash 播放器..我认为 flash 播放器更好。

Theora/Webm 重要的唯一情况是 Firefox 和 Opera。但是他们应该支持支持 h264 since 版本 9.something 的 flash。

关于在 html5 播放器中支持所有主要移动设备的视频编解码器设置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4112924/

相关文章:

javascript - 如何保护我的 html 元素值?

jquery - $(this).val() 无法使用 jquery 从 span 获取文本

perl - 编码模块和引号

mysql - 在 MySQL 中存储表情符号

unicode - Win32 API 函数需要什么编码?

android - 如何将音频文件与新的视频文件合并?在 Android 中有可能吗?

JavaFX:视频比正常速度快 2 倍

html - 在 React 中的 div 组件上设置背景图像时,如何检测损坏的链接?

javascript - 视频背景在某些计算机上无法正常显示

android - FFmpeg:用于提取图像的复杂命令