直播技术目前越来越大众化,但也面临着更多的挑战。本次分享主要介绍直播的一般流程,CDN的技术原理及架构,CDN直播技术的难点和对应的解决方案。希望能够给大家带来帮助,更希望能推动实时直播技术的改进和改革。
主播客户端,将本地采集的视频推送到CDN;
CDN对视频流进行缓存以及转发;
观众客户端,拉取CDN中缓存视频流进行播放;
CDN在这里起到了关键的作用,,直播也逐渐成为了CDN的标配。
所以我们要了解一下CDN的技术原理。
CDN技术原理
内容分发网络,策略性部署的整体系统,主要用来解决由于网络带宽小、用户访问量大、网点分布不均匀等导致用户访问网站速度慢的问题。
这里我们就不做过多介绍了。
对于直播来说,则将Web服务器换作主播客户端。
1. 网络延时
网络延时这里指的是从主播端采集,到观众端播放,之间的时间差。这里不考虑主播段采集对视频进行编码的时间,以及观众端观看对视频进行解码的时间,仅考虑网络传输中的延时。
所以说,在节点较少、网络情况较好的情况下,那么网络延时对应也是最小,加上一定的缓存,可以控制延时在1s~2s左右。但是节点多、网络差的情况下,网络延时会对应增大,经验来说延时可以达到15s以上。
3. 网络丢包
CDN直播中用到的RTMP、HLS、HTTP FLV等协议都是在TCP的基础之上。TCP一个很重要的特性是可靠性,即不会发生数据丢失的问题。为了保证可靠性,TCP在传输过程中有3次握手,见下图。首先客户端会向服务端发送连接请求,服务端同意后,客户端会确认这次连接。这就是3次握手。接着,客户端就开始发送数据,每次发送一批数据,得到服务端的“收到”确认后,继续发送下一批。TCP为了保证传到,会有自动重传机制。如果传输中发生了丢包,没有收到对端发出的“收到”信号,那么就会自动重传丢失的包,一直到超时。
Copyright © 2013-2019 wangyuyun.com 北京东方网域新兴科技有限公司 京ICP备05062133号-13
增值电信业务经营许可证:京B2-20140042号 域名注册服务批文号:信部电函[2005]263号 营业执照统一社会信用代码:911101077776591113 京公网安备11010502030239号 ICP备案号京ICP备05062133号-13