1、聊天
2、礼物
3、直播列表
4、自己直播
5、房间逻辑
6、用户逻辑
7、观看直播
8、统计
9、超管
直播原理:把主播录制的视频,推送到服务器,在由服务器分发给观众观看。
直播环节:推流端(采集、美颜处理、编码、推流)、服务端处理(转码、录制、截图、鉴黄)、播放器(拉流、解码、渲染)、互动系统(聊天室、礼物系统、赞)
1.采集、2.滤镜处理、3.编码、4.推流、5.CDN分发、6.拉流、7.解码、8.播放、9.聊天互动
视频文件格式:文件的后缀,比如.wmv,.mov,.mp4,.mp3,.avi,
视频封装格式:一种储存视频信息的容器,流式封装可以有TS、FLV等,索引式的封装有MP4,MOV,AVI等,
* 1.1 采集视频、音频编码框架 *
* 1.2 视频、音频硬件设备 *
* 视频处理框架 *
* 3.1 视频编码框架 *
* 3.2 视频编码技术 *
* 3.3 音频编码技术 *
* 3.4码率控制 *
* 3.5 视频封装格式 *
TS : 一种流媒体封装格式,流媒体封装有一个好处,就是不需要加载索引再播放,大大减少了首次载入的延迟,如果片子比较长,mp4文件的索引相当大,影响用户体验
FLV: 一种流媒体封装格式,由于它形成的文件极小、加载速度极快,使得网络观看视频文件成为可能,因此FLV格式成为了当今主流视频格式
* 4.1 数据传输框架 *
librtmp:用来传输RTMP协议格式的数据
* 4.2 流媒体数据传输协议 *
RTMP:实时消息传输协议,Adobe Systems公司为Flash播放器和服务器之间音频、视频和数据传输开发的开放协议,因为是开放协议所以都可以使用了。
chunk:消息包
* 5.1常用服务器 *
* 5.2数据分发 *
* 7.1 解封装 *
* 7.2 音频编码框架 *
* 7.3 解码介绍 *