我正在考虑这样一个事实,即我们使用的MP4配置文件越高,视频质量就越高......
这让我想到了一个问题,我想我会问专家!
HTML 5视频代码可以有多个具有不同编解码器的MP4源吗?类似的东西:
<video>
<source src="video.webm" type='video/webm; codecs="vp8, vorbis"' />
<source src="high.mp4" type='video/mp4; codecs="avc1.64001E, mp4a.40.2"' />
<source src="main.mp4" type='video/mp4; codecs="avc1.4D401E, mp4a.40.2"' />
<source src="baseline.mp4" type='video/mp4; codecs="avc1.58A01E, mp4a.40.2"' />
</video>
第一个MP4视频是高调视频,第二个主要配置文件和第三个基线配置文件。
在iPhone 3G上,是否会播放基线?
在iPhone 4S上,是否会播放高音?
后续问题:如果高调视频低于源列表中的基线配置文件视频,哪一个将在iPhone 4G上播放?
(感谢您阅读,特别是如果您回复。)
答案 0 :(得分:13)
According to Mozilla,<video>
可以包含任意数量的<source>
标记。此外,应播放第一个带有当前设备/浏览器兼容视频文件的源标签。
Apple themselves confirm <source>
代码应该是开发人员首选的落实顺序,我假设Mobile Safari也会选择可以<的第一个文件/ em> play。
因此,从我能够挖掘的内容来看,没有一种静态的方法可以为特定的浏览器/设备组合选择特定的文件。您可能必须根据提供的用户代理字符串进行一些检测,并且只提供正确的文件(但使用纯HTML无法实现)。
答案 1 :(得分:3)
您可以提供多个源标记,用户代理应该播放它可以处理的第一个。
参见W3C定义:http://www.w3.org/TR/html5/embedded-content-0.html#the-source-element
还提供了回退的javascript示例。
http://www.w3.org/TR/html5/embedded-content-0.html#mime-types显示了一些javascript如何测试浏览器是否可以播放特定的编解码器。
答案 2 :(得分:2)
可以使用该元素指定多个源文件,以便为不同的浏览器提供以不同格式编码的视频或音频。例如:
<video controls>
<source src="foo.ogg" type="video/ogg"> <source src="foo.mp4" type="video/mp4">
Your browser does not support the <code>video</code> element.
</video>