iOS音视频编码

2019-07-21  本文已影响0人  尘风killer

iOS音视频开发涉及的方面比较广泛,一般分为采集、音视频的封装、编码、推流、拉流、解封装、解码、播放等阶段。其中音视频的编码和解码阶段是非常重要的步骤。其中编码分为硬编码和软编码,对应解码分为硬解码和软解码。

硬编码

硬编码是指使用非CPU进行编码,如显卡GPU、专用的DSP、FPGA、ASIC芯片等。
硬编码一般性能高,对CPU没有压力,但是对其他硬件要求较高(如GPU等)。

软编码

软编码是指使用CPU进行编码,软编码通常使用:ffmpeg+x264。
软编码实现直接、简单,参数调整方便,升级易,但CPU负载重,性能较硬编码低。

音视频的编码格式

常见的直播服务普遍采用了RTMP作为流媒体协议,FLV作为封装格式,H.264作为视频编码格式,AAC作为音频编码格式。

iOS中编码方式:
在iOS8之前,苹果并没有开放硬编码的接口,所以只能采用ffmpeg+x624进行软编码
在iOS8之后,苹果开放了接口,并且封装了VideoToolBox&AudioToolbox两个框架,分别用于对视频&音频进行硬编码

上一篇 下一篇

猜你喜欢

热点阅读