问题描述:

部分MP4文件在ios的微信浏览器中无法播放,点击播放后缓冲一下之后显示叉,而另外一些mp4文件正常,同时在安卓全部下正常。

分析:

h264编码的压缩级别问题导致。

苹果官方文档中对 ios 能支持的压缩级别进行了描述:

https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/StreamingMediaGuide/FrequentlyAskedQuestions/FrequentlyAskedQuestions.html
我们可以通过 potplayer等软件,查看对应的mp4文件的 压缩级别,如果 压缩级别高于苹果能支持的压缩级别,则会出现ios下无法播放的问题。

具体的苹果设备支持的编码格式列表,可以参考这里:
http://www.cnblogs.com/tinywan/p/6404411.html

解决方法:
如果视频存放在 阿里云或者七牛云,可以使用 他们的 视频转码服务(一般是按量计费),转码为 h264 high 4.1 就基本可以支持 phone4s + 的苹果设备了。
如果 要兼容所有(包括iphone3gs 和 iphone4),那需要转为 baseline 3.1

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐