iOS - 直播总结(理论到实践)
一、直播原理及流程 1.一个完整直播app原理 直播原理 :把主播录制的视频,推送到服务器,在由服务器分发给观众观看。 直播环节 :推流端(采集、美颜处理、编码、推流)、服务端处理(转码、录制、截图、鉴黄)、播放器(拉流、解码、渲染)、互动系统(聊天室、礼物系统、赞) 2.直播app实现流程 1.采集、2.滤镜处理、3.编码、4.推流、5.CDN分发、6.拉流、7.解码、8.播放、9.聊天互动 直播流程.png 3.直播app架构 直播架构.png 4.直播app技术点 二、直播基础知识介绍: 1.采集视频、音频 * 1.1 采集视频、音频编码框架 * AVFoundation :AVFoundation是用来播放和创建实时的视听媒体数据的框架,同时提供Objective-C接口来操作这些视听数据,比如编辑,旋转,重编码 * 1.2 视频、音频硬件设备 * CCD :图像传感器: 用于图像采集和处理的过程,把图像转换成电信号。 拾音器 :声音传感器: 用于声音采集和处理的过程,把声音转换成电信号。 音频采样数据 :一般都是PCM格式 视频采样数据 : 一般都是 YUV ,或 RGB 格式,采集到的原始音视频的体积是非常大的,需要经过压缩技术处理来提高传输效率 2.视频处理(美颜,水印) 视频处理原理 :因为视频最终也是通过GPU,一帧一帧渲染到屏幕上的,所以我们可以利用OpenGL