VideoCore是一个开源的iOS平台音视频RTMP推流项目。支持实时滤镜效果和水印功能。在视频编码方面,iOS8以下使用AVAssetWriter进行编码:先把数据写入本地临时文件appendPixelBuffer,再读取文件数据fread. iOS8及以上采用了VideoToolBox的硬编码:VTCompressionSessionCreate创建session,当pushBuffer数据来时,调用VTCompressionSessionEncodeFrame压缩数据。
水印和滤镜特效的初始化过程如下
https://raw.githubusercontent.com/leyleo/VideoCore/master/docs/img/VCSimpleSession%E5%88%9D%E5%A7%8B%E5%8C%96%E7%89%B9%E6%95%88.jpg
相关类的类图如下
https://github.com/leyleo/VideoCore/raw/master/docs/img/VideoCore%E7%B1%BB%E5%9B%BE2.jpg
播放
推流
编码
android 4.3 以上建议硬编码 以下软编码
ios 全硬编码
解码
via :http://liuley.cn/%E6%8A%80%E6%9C%AF/2016/03/15/iOS-rtmp-live-stream