[转载]为什么有些MP4文件在Chrome浏览器上播放不了?
2014-12-08 15:05 Benoly 阅读(6769) 评论(0) 编辑 收藏 举报http://blog.sina.com.cn/s/blog_6bb7ebcc0101c2ja.html
Chrome浏览器支持HTML5,它支持原生播放部分的MP4格式(不用通过Flash等插件)。
为什么是部分MP4呢?MP4有非常复杂的含义(见http://en.wikipedia.org/wiki/Mp4),普通人对MP4的理解是后缀为.mp4的文件。但MP4本身不是一种简单的视频格式,它是一个包装了视频和音频格式的壳。至于里面的视频和音频使用什么编码格式是可变的。MP4的视频格式可以使用DivX也可使用H264,Chrome只支持H264。
然后,我猜测问题的原因是这样的:Chrome浏览器见到MP4后缀的文件,使用了原生HTML5视频播放起播放,但却发现视频格式无法解码。对于Firefox,它不支持原生播放MP4,于是使用了Flash,绝大部分的视频格式基本都可通过Flash播放。
这篇2011年1月的消息提到Google将放弃对H264的支持:http://www.infoq.com/cn/news/2011/01/chrome-h264。这篇是Google方面的描述:http://blog.chromium.org/2011/01/html-video-codec-support-in-chrome.html。如果Google不再支持在Chrome上原生播放MP4,那么会调用Flash播放器播放,这样反而不会出现有些MP4文件播放不了的问题。
Browser | Latest stable release version date | Formats supported by different web browsers | ||
---|---|---|---|---|
Ogg Theora | H.264 | VP8 (WebM) | ||
Internet Explorer | 9.0.2 (August 11, 2011; 6 months ago) | Manual install[note 2] | 9.0[23] | Manual install[note 3] |
Mozilla Firefox[26] | 10.0.2 (February 16, 2012; 10 days ago)[27] | 3.5[28] | Manual install/Microsoft Windows only[note 4] | 4.0[30][31] |
Google Chrome | 17.0.963.56 (February 15, 2012; 11 days ago) | 3.0[32][33] | Planned for removal[34] | 6.0[35][36] |
Chromium | N/A | r18297[37] | Manual install[note 5] | r47759[39] |
Android browser | N/A | 2.3[40] | 3.0[40] | 2.3[40] |
Safari with Quicktime | 5.1.3 (February 1, 2012; 25 days ago) | Manual install[note 6] | 3.1 | Manual install[41] |
Opera | 11.61 (January 24, 2012; 33 days ago) | 10.50[42] | No | 10.60[43][44] |
Konqueror | 4.8 (25 January 2012; 32 days ago)[45] | 4.4[46] | Manual install[note 7] | Yes[48] |
Epiphany | 3.2.2 (16 November 2011; 3 months ago)[49] | 2.28[50] | Manual install[note 8] | Yes[note 8][51] |
最后,我录制了一段教学视频,指导大家怎样把各种视频转换成兼容性比较好的MP4文件。视频中使用的软件是“格式工厂”(http://www.formatoz.com/CN/index.html),这个软件基本上只是做了一个界面,其核心调用了开源软件FFMPEG。由于它违反了FFMPEG的LGPL许可协议,备受指责。使用Linux的朋友可以直接使用FFMPEG命令进行视频格式转换,命令如下:
ffmpeg -i infile.flv -vcodec libx264 o5.mp4
如果转换出的视频在某些设备还是无法播放,可以试试利用MediaCoder转换兼容性更好的MP4
参考:
http://www.w3school.com.cn/tags/av_met_canplaytype.asp
https://html.spec.whatwg.org/multipage/embedded-content.html#the-video-element