所以我不小心用 Chrome 打开了一个 mkv 视频文件,令我惊讶的是它使用本机播放器播放:
<video src="video.mkv"></video>
它播放得很完美。HTML5 视频支持 matroska 容器吗?
所以我不小心用 Chrome 打开了一个 mkv 视频文件,令我惊讶的是它使用本机播放器播放:
<video src="video.mkv"></video>
它播放得很完美。HTML5 视频支持 matroska 容器吗?
HTML5 不支持任何视频格式,或者更确切地说,HTML5 没有指定浏览器应该支持哪些格式。由浏览器决定他们选择支持哪些格式。显然 Chrome 播放 .mkv,但如果其他浏览器没有播放相同的文件,我不会感到惊讶。
该网站可能已将文件的 mimetype 设置为 video/webm。Chrome 将打开这个内联而不是强制下载(因为否则它不知道如何处理它或如何打开它)。
例如,在 apache 中,这是通过使用 AddType 指令完成的(可以在 htaccess 中完成):
AddType video/webm .mkv
如果浏览器不支持 mkv,我会感到惊讶,因为 webm 容器只是 matroska 格式的受限版本。除此之外,您还必须检查内部视频的编解码器,并确保您的浏览器可以处理。如果视频格式为 VP8 或 VP9,音频为 Opus 或 Vorbis,则它符合 webm 标准,也可以这样重命名。请注意,H.264、H.265 和 MP3 不符合 webm 标准,您应该避免在包含这些格式的文件上使用该扩展名,视频仍然可以播放,但它在技术上会违反 webm 规范并且不受欢迎。