新手在学习视频直播前,肯定和我一样,有太多疑惑,不知从何入手,个人觉得需要先对整体平台有个大概的认识,然后再结合自己专业一步步学习研究,整体框架如图:
然后在网上查阅了不少资料,也和行业内一个朋友进行了交流,对主流平台参数总结如下(不对或不全面的地方欢迎大家指点):
1. 收流(主流参数)
平台 | 协议 | 封装格式 | 视频编码 | 音频编码 | 解码技术 | 播放器 |
---|---|---|---|---|---|---|
PC端 | RTMP | FLV | H.264 | AAC | Flash播放器无插件直接播放 | Flash播放器 |
App | RTMP/HLS(苹果) | FLV | H.264 | AAC | FFMPEG | ijkplayer等 |
2. 推流(主流参数)
平台 | 采集 | 前处理(美颜等) | 视频编码 | 音频编码 | 封装格式 | 推流协议 |
---|---|---|---|---|---|---|
PC端(已逐步放弃) | OBS | 美颜摄像头+OBS插件 | H.264 | AAC | FLV(服务器封装) | RTMP |
App | FFMPEG+x264 | GPUImage | H.264 | AAC | FLV(服务器封装) | RTMP |
3. 服务器(主流框架)
传输 | 架构 | 截图/水印/转码/鉴黄等 |
---|---|---|
CDN服务商 | ossrs | 定制开发+运维等 |
4. 参考资料
- 循序渐进的学习FFMPEG(0基础学习音视频相关技术)
http://blog.csdn.net/leixiaohua1020/article/details/15811977 - 如何搭建一个完整的视频直播系统?http://www.zhihu.com/question/42162310
- 技术实现难度 http://www.zhihu.com/question/41868659
- 常用SDK推荐 http://www.zhihu.com/question/37183046
作者 @代码书生
2016 年 06月 02日