在网易云课堂找到了一个很好的讲解网络传输音视频流程的视频,视频内容是网易云音视频技术专家。附链接:http://study.163.com/course/courseMain.htm?courseId=1003413003
先附一张音视频处理的流程图。
关键词:推流、拉流、RTMP、CDN、HLS、HTTP、webRTC、mp4、flv
音视频转码系统:分辨率和码率转换,文件格式转换。目的是适用不同的网络环境和手机分辨率的用户
流媒体分发系统:可将视频内容缓存部署在不同区域,依据用户离不同节点的距离和网络环境传输不同节点缓存内容给用户,并且避免直接由视频点播系统服务器接收大数量级用户请求造成的系统压力过大而崩溃的问题。
点播回源:如果视频源已经缓存在CDN分发系统中,那就不需要再去视频点播系统中请求资源。CDN分发系统直接响应用户请求并发送视频给用户。但如果CDN没有缓存用户请求的资源,那就需要去视频点播系统中请求资源。
推流
推流需要的操作
还需要注意目前比较流行的还有webRTC,webRTC也是一种基于RTP的
拉流
接收也称为解协议,RTP是裸流传输,不封装的,比如编码后的h264数据流就直接发送了。
网易视频云直播框架
网易视频云的优点
端到端的优化策略
从哪些方面提升视频质量
- 视频标准:选择合适的编码标准。H.264、H.265、vp8/9、从通用性、复杂度、性能、清晰度、码率考虑。
编码模式:软编、硬编。
软编:兼容性好、性能低、耗电。
硬件:性能高、适配性差、省点。码率控制。国内互联网是公网传输(听说国外是公司可以自己建网络的),网络质量是不可控,那就尽量让自己发送是数据量小增强抵抗网络变化的能力。
码率控制算法优化,确保码率波动小。控制GOP尺寸,避免码率出现频繁尖峰。I帧的间隔是很影响尖峰的,I帧数据量是很大的,但I帧间隔太大,抗丢帧能力减低了。缓冲策略。
低延迟、快速启动、加大缓冲、预加载流、适合点播链路优化。
根据用户出口IP,采用中心调度策略,选择合适的网络节点,找到最优链路。实时统计
统计网络情况(3G、4G、wifi),码率大小,卡顿发生原因,机器性能,- Qos调整
实时监控推流数据,码率采用快降慢升策略,动态调整帧率,码率,分辨率,缓冲区。