直播APP的需求
1、直播项目,常见的8个步骤:
- 音视频采集
- 视频滤镜
- 音视频编码
- 推流: 将采集的音频.视频数据通过流媒体协议发送到流媒体服务器
- 流媒体服务器处理
- 拉流:从流媒体服务器中获取音频\视频数据
- 音视频解码
- 音视频播放
2、直播APP架构
- 采集端:音视频采集,视频处理,音视频编码压缩,把视频封装成FLV/TS
AV Foundation:数据
GPUImage:过滤美颜
FFmpeg:音视频编码
videoToolBox:视频编码
audioToolBox:音频编码
Libremp:推流
- 服务器:数据分发(CDN),鉴定数据合法,截屏:封面,实时转码
SNS BMS nginx
- 播放端:分离音视频,音视频解码,播放,互动聊天
FFmpeg:音视频编码
videoToolBox:视频编码
audioToolBox:音频编码
ijkplayer:播放
3、视频的构成:图像,音频,元信息
图像:视频内容本身就是一帧一帧的图片构成.人眼只要1秒钟连续播放16张以上的图片,就会认为这是一段连贯的视频.这种物理现象叫视觉暂留.
元信息:元信息其实就是描述信息的信息.用于描述信息的结构\语义\用途\用法等.比如视频元信息就包含了视频的具体信息,比如编码格式,分辨率等等
参考简书:https://www.jianshu.com/p/0188ab0381ba