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/