HTML5 <video> 可以播放 .mkv 格式的文件吗?

16

我无意中使用Chrome打开了一个mkv视频文件,令我惊讶的是它使用本地播放器来播放:

<video src="video.mkv"></video>

它一直在完美播放。HTML5视频支持Matroska容器吗?


2
我在 Chrome 22 中没有任何声音。我无法取消静音视频。很奇怪。您尝试的是哪个版本? - Rudie
1
我也是用Chrome 21观看.mkv视频的。 - jiyinyiyong
3个回答

21

HTML5不支持任何视频格式,或者说HTML5不指定浏览器应该支持哪些格式。具体支持哪些格式取决于浏览器自己的决定。显然,Chrome浏览器可以播放.mkv文件,但是如果其他浏览器无法播放同样的文件,我也不会感到惊讶。


30
@artdias90 不,它并不是。W3schools并不是权威参考。 - JJJ

2
该网站可能已将该文件的MIME类型设置为video/webm。 Chrome会内嵌打开它,而不是强制下载(否则它不知道如何处理或打开它)。
例如,在apache中,可以使用AddType指令来完成这个操作(可以在htaccess中完成)。
    AddType video/webm .mkv

3
请不要这样做。所有WebM文件都是MKV文件,但反过来则不成立。而且,不能以错误的MIME类型提供文件,否则就会像上面的情况一样。 - Alice Wonder

1
我会很惊讶如果浏览器不支持mkv,因为webm容器只是matroska格式的一种受限制的版本。除此之外,您需要检查视频内部的编解码器,并确保您的浏览器可以处理它。如果视频格式是VP8或VP9,音频是Opus或Vorbis,则符合webm标准,也可以将其重命名为webm。请注意,H.264、H.265和MP3不符合webm标准,应避免在包含这些格式的文件上使用该扩展名,视频仍然可以播放,但从技术上讲,它会违反webm规范,并且不被推荐使用。

请注意,如果您将字幕添加到MKV容器本身中,即使视频是VP{8,9},音频是Vorbis或Opus,它也不再符合WebM标准 - 尽管浏览器仍然可以播放它。 - Alice Wonder

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接