在iOS平台上做视频的解码,一般有三种方案:
1、软解码方案:ffmpeg
缺点:消耗CPU太大,在iphone4s上一般720P 20帧以上就解不动了
2、硬解码方案1:采用私有接口VideoToolBox
优点:CPU消耗极低,解码效率极高
缺点:要使用私有接口VideoToolBox,iOS设备必须越狱
3、硬解码方案2:采用AVPlayer+httpserver+HttpLiveStream的组合方案
优点:CPU消耗极低,解码效率极高
缺点:视频有延迟,不适合实时视频通讯
这里给出硬解码方案2的流程图:
该方案本人已源代码实现,并验证了稳定性,在iphone5上720P 25帧CPU占用率3%;
具体实现源代码暂时不开源,若需要,可联系我,QQ:349260360 Email:manshilingkai@163.com
纠错:采用AVPlayer,ts流分片在切换的时候会闪屏,要实现ts流切片的无缝对接,必须采用AVQueuePlayer,这个具体方案还需完善。。。