Chrome可以播放HTML5 MP4视频,但HTML5测试显示Chrome不支持MP4视频编解码器。

11

根据html5test.com,Chrome浏览器不支持HTML5 mp4视频(请参见以下链接)。 http://html5test.com/compare/feature/video-mpeg4.html

但是,在此测试页面中,可以通过设置body如下的方式成功播放mp4视频:

<!DOCTYPE html>
<html>
<body>

<video width="320" height="240" controls="controls">
  <source src="movie.mp4" type="video/mp4" />
  Your browser does not support the video tag.
</video>

</body>
</html>

我应该如何正确理解这个问题?

2个回答

32

.mp4 是一个容器格式(MPEG-4 Part 14),.mp4 文件中的视频和音频格式可以是多样化的。对于视频来说,H.264(MPEG-4 Part 10)和MPEG-4 Visual(MPEG-4 Part 2)很常见。

在 HTML5Test 中,“MPEG-4 support” 将测试 video.canPlayType("video/mp4; codecs="mp4v.20.8"),这将测试是否支持 MPEG-4 Visual。

Chrome 支持的格式包括 H.264、VP8(WebM 视频部分)、Theora 视频和 MP3、AAC、Vorbis 音频。不支持 MPEG-4 Visual(Chromium issue 54036)。

因此,Chrome 可以播放带有 H.264 视频的 .mp4 文件,但不能播放 MPEG-4 Visual 视频。


4
一般来说,Google已承诺在Chrome中删除对H264的支持,因此它不太可靠。无论如何... 在我的Windows 7上,Chrome版本24.0.1312.57 m无法在测试页面上播放视频,只能播放音频和空白视频流。我进行了一项快速调查,在测试的22个人中,有7个人无法播放视频,15个人可以播放。大多数使用相同版本的Chrome,有些使用版本26的开发通道,使用相同的Windows补丁级别,甚至使用相同的视频卡和驱动程序也会产生不同的结果。测试的视频是mp4容器,其中包含一个H264格式的视频流(不是mpeg-4)。我无法确定原因,但这开始成为一个令人沮丧的问题,因为对于所有遇到播放问题的人,没有任何流行的HTML5回退解决方案能够起作用。即使是像ME.js、videojs、jwplayer等主页示例视频也无法在Chrome中播放视频。要么Chrome在H264支持方面存在问题,要么我们所有人都使用了某些未知软件中的错误...我将在公司网络之外进行测试,以查看是否有内容过滤器搞乱了事情。

2
这个问题有任何更新吗?Chrome 确实放弃了对 h.264 的支持吗?更新 video.js 似乎解决了黑屏问题,但是为什么呢? - Jeff Voss
是的,正确。我也遇到了这个问题。如果仅从服务器下载视频,则无法播放该视频。在上传到服务器之前,我可以在Chrome中播放该文件。而且小于2 Mb的文件可以播放(从服务器下载)。我对此问题也感到非常困惑。 - user1120998

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