推流端:自己开发难度很大,视频直播就被卡死了,音频根本没来得及弄,最终使用了github上开源的框架。
原生开发基本流程:AVFoundation获取视频流,得到未编码的CMSampleBuffer,需要编码成Mpeg-4格式。编码分软编码和硬编码,考虑到iOS8之后VideoToolBox开放使用,选用VideoToolBox进行编码。坑爹的是针对它连文档都没有。github上有一个二次开发的OC版本叫VideoToolBoxPlus,地址:https://github.com/McZonk/VideoToolboxPlus,成功度过硬编码难关。推流选择使用RTMP,选择第三方库libRTMP,并编译成功。编译方法在上一篇笔记中。服务器采用Nginx+rtmp搭建,地址: