直播大火,学习一下吧
要做直播 有8个步骤
1.视屏的采集 视频的采集可以用 iOS原生avfoundation 框架直接做(RGB格式)
2.视屏滤镜渲染 可以原生的 coreimage 或者 gpuImage (基于opengl)
3.视频的编码 ffmpge,x264算法 进行编码转成H264 软编码
VideoToolBox AudioToolBox 硬编码
4.视屏推流 一般使用flv格式(文件极小、加载速度极快) RTMP协议(基于tcp 长连接 传输安全 流媒体)
5.流媒体后台服务器上(数据分发,检测内容,实时转码)
6.客户端就会拉流 使用FFmpeg,X264算法解码
7.ijkplayer,kxmovie 都是基于FFmpeg框架封装的 进行播放
硬解码:用GPU来解码,减少CPU运算
优点:播放流畅、低功耗,解码速度快,
* 缺点:兼容不好
软解码:用CPU来解码
优点:兼容好
* 缺点:加大CPU负担,耗电增加、没有硬解码流畅,解码速度相对慢
网友评论