我应该为 HTML <video> 使用哪个视频 format/codecs 以支持实际的最新主流浏览器?

Which video format/codecs should I use for HTML <video> to support actual most recent major browsers?

我看到针对同一主题的其他问题:

但他们已经过时了,而且在这个主题上有更新的信息我认为是至关重要的。

我正在使用 video/webm;codecs=vp9 但我在使用某些浏览器时遇到问题

那么我应该提供什么格式/编解码器版本的视频来支持 Windows、Linux、Mac 中主要浏览器的最新版本, Android 和 iOS?

我正在使用 MediaRecorder 在浏览器中自行生成视频,因此如果可以使用此系统生成建议的格式/编解码器,这将为我节省重新编码的额外步骤服务器。

如果您有 ffmpeg 命令配置来生成格式/编解码器,这对我也有帮助。

正如@Offbeatmammal 在 上建议的那样,我们可以在此处查看视频编解码器的实际兼容性:

但是信息量巨大,很难在一个具体的答案中消化。

我们 developer.mozilla.org 的朋友有一些具体的建议,我希望他们能更新:

  • 使用 VP9 视频编解码器和 Opus 音频编解码器的 WebM 容器
  • MP4 容器和 AVC (H.264) 视频编解码器,最好使用 AAC 作为音频编解码器

结果:

<video controls>
  <source src="video.webm" type='video/webm; codecs="vp9, opus"'>
  <source src="video.mp4" type='video/mp4; codecs="avc1, aac"'>    
</video>

这些是 ffmpeg 生成此类文件的最基本配置:

# Webm
ffmpeg -i #INPUT -c:v libvpx-vp9 -c:a libopus video.webm

# MP4
ffmpeg -i #INPUT -c:v libx264 -c:a aac video.mp4