如何在 Firefox 上获取带有多个源标签的 HTML5 视频标签,并带有编解码器规范?



我收到视频流编解码器为 H.265 HEVC 的 mp4 视频。较新的iOS设备以这种格式录制,现在只有Safari和移动Safari可以播放它,但是世界上大多数地区都没有Apple设备,即使在美国的泡沫中也是如此。因此,我将这些视频重新编码为(现在(广泛接受的H.264,以便我可以为Firefox,Chrome和其他非Apple浏览器提供它们。

但是,由于我已经拥有HEVC版本,它确实提供了比H.264更好的压缩/质量,因此我想将其与H.264一起提供,以便查看器设备可以选择它要选择的一个。这有点像imgsrcset

好消息是有办法做到这一点:而不是

<video controls src="h264.mp4"></video>

我可以有

<video controls>
<source src="h264.mp4" type="video/mp4; codecs=avc1">
<source src="hevc.mp4" type="video/mp4; codecs=hevc">
</video>

坏消息是,这适用于Linux Chromium稳定版和beta版,Windows Chromium,Edge。但是Firefox在Linux和Windows上都绊倒了。我该如何解决这个问题?我必须包括编解码器信息,因为两个文件都是mp4。

通过反复试验,我发现 Firefox 接受编解码器字符串,如果我不仅指定avc1而且还使用特定的 6 位十六进制代码完全指定配置文件和级别,例如:

type="video/mp4; codecs=avc1.64001E"

这是另一个问题,有人如何遇到十六进制代码,有关详细信息,请参阅如何(或是否可以(将AVC编解码器配置文件和级别转换为MIME编解码器定义? 和 https://developer.mozilla.org/en-US/docs/Web/Media/Formats/codecs_parameter#AVC_profiles

最新更新