iOS直播

VideoCore是一个开源的iOS平台音视频RTMP推流项目。支持实时滤镜效果和水印功能。在视频编码方面,iOS8以下使用AVAssetWriter进行编码:先把数据写入本地临时文件appendPixelBuffer,再读取文件数据fread. iOS8及以上采用了VideoToolBox的硬编码:VTCompressionSessionCreate创建session,当pushBuffer数据来时,调用VTCompressionSessionEncodeFrame压缩数据。

推流的初始化过程如下
https://github.com/leyleo/VideoCore/raw/master/docs/img/VCSimpleSession%E5%88%9D%E5%A7%8B%E5%8C%96%E6%8E%A8%E6%B5%81.jpg

预览界面的初始化过程如下
https://github.com/leyleo/VideoCore/raw/master/docs/img/VCSimpleSession%E5%88%9D%E5%A7%8B%E5%8C%96%E9%A2%84%E8%A7%88.jpg

水印和滤镜特效的初始化过程如下
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://raw.githubusercontent.com/leyleo/VideoCore/master/docs/img/%E9%9F%B3%E8%A7%86%E9%A2%91Buffer%E4%BC%A0%E9%80%92%E8%BF%87%E7%A8%8B.jpg

相关类的类图如下
https://github.com/leyleo/VideoCore/raw/master/docs/img/VideoCore%E7%B1%BB%E5%9B%BE2.jpg

播放

iOS直播_第1张图片
640-7.jpeg

推流

iOS直播_第2张图片
640-2-5.jpeg

编码

android 4.3 以上建议硬编码 以下软编码
ios 全硬编码

解码

iOS直播_第3张图片
640-8.jpeg

via :http://liuley.cn/%E6%8A%80%E6%9C%AF/2016/03/15/iOS-rtmp-live-stream

你可能感兴趣的:(iOS直播)