1、问题描述
mp4视频在安卓上全部能播放,部分mp4视频在ios不能播放。表现为刚开始缓冲加载几秒钟后,就显示加载失败的图标了,或者直接显示加载失败图标
2、问题分析
2.1 什么问题导致的
这篇文章中得到了一些启示https://www.cnblogs.com/aleafo/p/7644553.html。文中言简意骇的指出是“h264编码的压缩级别问题导致“
2.2 H264编码是什么
通过某种特定的压缩技术,将某个视频格式的文件转换为另一种视频格式的文件的技术称为视频编码。h264是视频流中其中一种编码标准。H264编码profile & level 控制https://www.cnblogs.com/tinywan/p/6402007.html,这里面说到H264编码的压缩级别,从压缩比例来说,baseline< main < high,对于带宽比较局限的在线视频,可能会优先选择high。但是上文说到,部分mp4视频不能在ios上播放,是由于h264编码的压缩比导致的,那么我们怎么知道ios支持哪些压缩级别呢?
2.3 iOS支持编码格式列表
虽然协议规范没有限制视频和音频格式,但目前的苹果实现支持以下格式https://developer.apple.com/library/archive/documentation/NetworkingInternet/Conceptual/StreamingMediaGuide/FrequentlyAskedQuestions/FrequentlyAskedQuestions.html