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

7

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播放器、如何实现Flash回退或反过来、如何正确地对服务器端进行视频编码,包括需安装的软件和各种输入文件。希望最终我能够完成我的视频网站,并准备好为每个人提供全面的指南。

嗯,我刚发现了一篇非常详细的文章,涵盖了很多内容......但恐怕不是全部。http://diveintohtml5.org/video.html - The Surrican
很遗憾,文章底部的示例视频无法在我全新的安卓2.1 Galaxy 3手机上播放。 - The Surrican
你在搭建移动视频网站方面成功了吗?如果成功了,你采取了什么方法?它可以在哪些手机上使用? - d33pika
2个回答

2

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

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不适用。仅支持开放格式的Html5) iPhone:HTML5 / h264(3.0+) Android:HTML5 / h264(2.0+)

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

那么现在我们需要什么?

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

唯一需要Theora / Webm的情况是Firefox和Opera。但是它们应该支持Flash自从9.x版本开始就支持h264。


0

iPad读取源代码时存在一个已经被广泛记录的bug。必须先使用mp4格式。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接