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

问题描述 投票:0回答:1

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

但是,既然我已经拥有比H.264更好的压缩/质量的HEVC版本,我希望将其与H.264一起提供,以便查看器设备可以选择要选择的版本。有点像srcsetimg

好消息是有办法做到这一点:代替

<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。

html cross-browser html5-video
1个回答
0
投票

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

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

这是另一个人如何看到十六进制代码的问题,有关详细信息,请参见How can I (or is it possible to) convert the AVC codec profile and level to the MIME codec definition?https://developer.mozilla.org/en-US/docs/Web/Media/Formats/codecs_parameter#AVC_profiles

© www.soinside.com 2019 - 2024. All rights reserved.