HTML 5视频标签可以有多个具有不同编解码器的MP4源吗?

bjf*_*her 8 html video mp4

我在考虑这样一个事实,即我们使用的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>
Run Code Online (Sandbox Code Playgroud)

第一个MP4视频是高调视频,第二个主要配置文件和第三个基线配置文件.

在iPhone 3G上,是否会播放基线?

在iPhone 4S上,是否会播放高音?

一个跟进问题:如果高调视频低于源列表中的基线配置文件视频,哪一个将在iPhone 4G上播放?

(感谢阅读,特别是如果你回复.:)

Cob*_*ast 15

根据Mozilla,<video>可以包含任意数量的<source>标签.此外,应播放具有当前设备/浏览器的兼容视频文件的第一个源标签.

苹果自己确认的是,<source>标签应该是开发商的首选落空顺序,从中我认为移动Safari浏览器,也将选择它的第一个文件可以播放.

因此,从我能够挖掘的内容来看,没有静态的方法可以为特定的浏览器/设备组合选择特定文件.您可能必须根据提供的用户代理字符串进行一些检测,并且只提供正确的文件(但使用纯HTML无法实现).


MrT*_*Tux 5

您可以提供多个源标签,用户代理应该播放它可以处理的第一个源标签。

请参阅 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 如何测试浏览器是否可以播放特定编解码器。