为什么有的MP4文件在chrome浏览器无法播放

一同事反馈说客户的视频是MP4格式,并且在VLC和ffplay都可以播放,但是chrome无法播放,这是为什么

这个是因为Chrome浏览器虽然支持HTML5,但是它只支持原生播放部分的MP4格式(不用通过Flash等插件)。

为什么是部分MP4呢?MP4有非常复杂的含义(见http://en.wikipedia.org/wiki/Mp4),普通人对MP4的理解是后缀为.mp4的文件。但MP4本身不是一种简单的视频格式,它是一个包装了视频和音频格式的壳。至于里面的视频和音频使用什么编码格式是可变的。MP4的视频格式可以使用DivX也可使用H264,Chrome只支持H264。

为什么Chrome不支持所有的视频编码格式?绝大部份的视频编码格式都是要付版权费的,Google已经为H264买了单,Firefox没有Google那么有钱不愿意买。

我们看下这个视频的格式是什么,video:mpeg4,因此chrome无法识别该格式

所以chrome打开是这样的

那如果是H264格式的则是类似这样的输出