问题描述:ios系统下,部分h264编码的mp4文件在浏览器中无法播放,而另外一些h264编码的mp4文件正常,同时在安卓系统下全部正常。

问题分析:H.264中有profile(画质级别)和level(用来约束分辨率、帧率和码率)的概念,profile有四种,分别是Baseline Profile(基本画质)、Extended profile(进阶画质)、Main profile(主流画质)和High profile(高级画质),level一般用数字表示,Level越高,视频的码率、分辨率、fps越高。通过苹果官方文档中ios能支持的视频格式可知,并不是所有h264编码的mp4文件都能在ios中播放。

解决方法:转码为 h264 high 4.1 就基本可以支持 phone4s + 的苹果设备,如果要兼容所有(包括iphone3gs 和 iphone4),那需要转为 baseline 3.1。

查看文件参数:我们可以通过potplayer等播放软件,查看对应的mp4文件的压缩级别,如果压缩级别高于苹果能支持的压缩级别,则会出现ios下无法播放的问题。

Logo

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

更多推荐