美文网首页
关于iOS直播推流集成方案

关于iOS直播推流集成方案

作者: 奔波儿灞与灞波儿奔 | 来源:发表于2018-03-15 12:11 被阅读19次

    推流流程

    使用rtmp协议(其他协议也类似)推流的大体流程如下:

    1.通过系统相机捕获视频及声音,该美颜的美颜,该滤镜的滤镜。

    2.捕获的视频帧为yuv格式,音频帧为pcm格式。

    3.将捕获的音视频数据,传入一个串行队列(编码队列),在队列中进行编码操作。

    4.将yuv格式视频数据,转成h264格式视频帧;将pcm格式音频数据,转成aac格式音频帧。

    5.将转好的h264及aac格式数据,转成flv视频帧。放入编码缓冲区,待发送。继续获取视频帧并编码。

    6.建立rtmp连接到服务器,成功后,创建另一个串行队列(发送队列)。

    7.rtmp协议,需要在首帧发送 sps/pps和AudioSpecificConfig这2种特别的帧数据。

    8.发送了首帧之后,发送队列不停从编码队列中获取flv视频帧,发送至rtmp服务端。

    9.结束直播,关闭推流,释放资源。

    推流流程图

    代码结构类图

    集成注意事项

    1、引入GPUImage.xcodeproj及其他类库,并设置路径

    2、当一个工程引入另一个工程时,需要在Build Phases里的TargetDependencied加入所引用的库

    3、bitcode 设置为NO

    4、在Build Phases里增加一个Framework,引入GPUImage.framework

    5、在info.plist里加入相关的权限,如摄像头,麦克风等。

    相关文章

      网友评论

          本文标题:关于iOS直播推流集成方案

          本文链接:https://www.haomeiwen.com/subject/xqvcqftx.html