摘要:
第10届ACM多媒体系统会议(ACM Multimedia Systems Conference)于今年6月18日至21日在美国马萨诸塞州举行。会上,来自网络视频技术提供商Brightcove的工程总监Jordi Cenzano做了题为《Challenges of livestreaming at scale》的主题报告,介绍了当前大规模视频直播遇到的技术挑战。
流媒体系统简介
Jordi首先介绍了一个简单的线上流媒体系统的构成,主要包括推流端、数据处理中心(云端)和拉流端。但是实际上,真正的直播系统远比这个基础构造复杂的多,例如应对推流端和拉流端编解码器不一致的问题,云端需要有转码模块。而云端和其他端之间的数据通信又可能同时存在多个协议,同时为了降低网络负载压力,又可能引入CDN节点等。在这种复杂的网络结构下,还需要有一个监控模块实时监测其他模块的情况。正是这种复杂的构造,给大规模视频直播带来了不少挑战。
遇到的挑战
Jordi首先提到的问题就是如何选择合适的传输协议。我们使用的互联网并不是为实时通信而设计的,TCP协议有可靠性高的优点,但同时又有漫长的丢包重传、带宽受限等问题,基于TCP的RTMP协议也同样会继承这些问题。而基于UDP的传输虽然兼容性好、适合广播,但是也有可靠性差等问题。Jordi随后介绍了新一代低延迟视频传输协议SRT(Secure Reliable Transport),它具有抗丢包、低延迟等特性,可能是一个不错的协议选择。
其次,Jordi提到直播个性化方面的挑战,例如针对不同的用户,如何选择针对性的广告植入以达到效益最大化?Jordi认为基于边缘节点的解决方案也许能解决这个问题。
另外,在这复杂的架构中如何设计合理的、自动化的监控模块也是一个不小的挑战。除此之外,如何实现低延迟传播、确保数据有足够冗余等都是需要考虑的问题。
总结与展望
最后Jordi给出了直播系统未来可能发展的方向,例如更多的边缘节点以配合多CDN网络,个性化定制的视频服务,自适应码率的低延迟系统,更强劲的、内容感知的编解码器等。
报告PPT全文