HTML5 <video> 可以播放 .mkv 文件吗?
Posted
技术标签:
【中文标题】HTML5 <video> 可以播放 .mkv 文件吗?【英文标题】:HTML5 <video> can play .mkv files? 【发布时间】:2012-03-26 05:38:30 【问题描述】:所以我不小心用 Chrome 打开了一个 mkv 视频文件,令我惊讶的是它使用本机播放器播放:
<video src="video.mkv"></video>
播放完美。 html5 视频是否支持 matroska 容器?
【问题讨论】:
我在 Chrome 22 中没有任何声音。我无法取消视频静音。诡异的。您在哪个版本中尝试过? 我也使用 Chrome 21 for.mkv
视频..
【参考方案1】:
HTML5 不支持 any 视频格式,或者说 HTML5 没有指定浏览器应该支持的格式。由浏览器决定他们选择支持哪些格式。显然 Chrome 播放 .mkv,但如果其他浏览器不播放相同的文件,我不会感到惊讶。
【讨论】:
@artdias90 No, it doesn't。 W3schools 不是权威参考。【参考方案2】:网站可能已将文件的 mimetype 设置为 video/webm。 Chrome 将打开这个内联而不是强制下载(因为否则它不知道如何处理它或如何打开它)。
例如,在 apache 中,这是通过使用 AddType 指令完成的(可以在 htaccess 中完成):
AddType video/webm .mkv
【讨论】:
请不要这样做。所有 WebM 文件都是 MKV 文件,但反之则不然,不应提供 MIME 类型不正确的文件,因为上述内容最终会发生。【参考方案3】:如果浏览器不支持 mkv,我会感到惊讶,因为 webm 容器只是 matroska 格式的受限版本。除此之外,您还必须检查内部视频的编解码器,并确保您的浏览器可以处理。如果视频格式是 VP8 或 VP9,而音频是 Opus 或 Vorbis,则它符合 webm 标准,也可以这样重命名。请注意,H.264、H.265 和 MP3 不符合 webm 标准,您应该避免在包含这些格式的文件上使用该扩展名,视频仍然可以播放,但从技术上讲会违反 webm 规范,因此不受欢迎。
【讨论】:
另外请注意,如果您将字幕添加到 MKV 容器本身,即使视频是 VP8,9 并且音频是 Vorbis 或 Opus,它在技术上不再是 WebM 兼容的 - 尽管浏览器还是会玩的。以上是关于HTML5 <video> 可以播放 .mkv 文件吗?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 iOS 上自动播放 HTML5 <video> 和 <audio> 标签?
Android - 在 html 代码中播放 html5 <video>