LiveVideoStack采访了三体云实时视频高级工程师李幸原,从无线桌面、远程医疗到互联网直播,李幸原分析了这几种场景下的技术难点。在不可靠的公网上,三体云抛弃了传统的CDN+TCP,构建起全新的通信基础设施。
文 / 李幸原
策划 / LiveVideoStack
LiveVideoStack:李幸原你好,能否向LiveVideoStack的读者介绍下自己,以及目前主要的工作以及关注的技术方向?
李幸原:大家好,我是李幸原,自学校开始接触视频编码算法,之后一直在从事相关的工作,目前在三体云任职,主要负责视频算法以及实时传输方面的工作。
LiveVideoStack:您做过无线桌面、远程医疗、互联网直播产品,这三种业务场景分别对技术(编解码、实时传输等)有哪些挑战?
李幸原:无线桌面共享大约是2014-2015年左右的产品,当时主要的应用场景是在会议室或者是办公室等中小空间里,设计的目标是要在当时主流的桌面(Windows,Mac)和移动系统(iOS,Android)上实现抓屏和编码推流,当时的移动平台在计算能力上支持高清实时编码还是比较吃力的,而产品对于画质和延迟的要求是非常高的,同时在解码端我们也希望在一颗中低端的CPU上实现多路流的并发解码、渲染,为此我们做了大量的工作,从硬件的选型,到算法优化、汇编加速等等。在传输层面,由于产品的场景,以以太网,WIFI为主,相对于公网的情况要简单许多,但是我们也遇到了不少问题,当时正处在一个WIFI 2.4G到5G的交叉口,而2.4G的频段是比较“脏”的,很多时候表现非常感人,也是在这个过程里,我们体会到了TCP的种种不便。
时间到了2016年,全民直播点燃了整个行业,移动平台开始崛起,感谢摩尔定律,这个时候的移动平台已不需要再为编码的计算能力而担心,但是我们发现,复杂的公网一点也不能让人放松半分。特别是观众已经不满足于简单的当一个被动的参与者,于是多人互动直播降临,它对于端端延迟有着极致的要求,而这是传统的直播架构解决不了的问题。为了应对这些问题,我们放弃了传统CDN以及伴随多年的劳模TCP,开始重新建构实时通信基础设施:在传输层它需要实时通讯协议,基于时延的拥塞控制,动态码流,重传,FEC等等;在编解码层,它需要混屏混流,回音消除,抗丢包编码算法等等。
而时至今日,实时通讯已愈发融入到我们的日常生活中,它打破了时间和空间的限制,是解决当今资源集聚问题的一个有效手段,于是我们看到了在线教育和在线医疗的快速成长,而在这种场景下,低延时高质量通讯的需求更为强烈,它直接影响了自身承载的服务的质量,在这里带宽,画质音质,延迟的矛盾会更加突出,此外这些场景往往还伴随着教学,分享,远程控制等的一些特殊业务需求。
LiveVideoStack:你看好实时视频通信技术在哪些场景的应用前景?
李幸原:在上面一个话题里我大致也提到了,教育和医疗,资源分布的问题特别突出,他们又有着庞大的市场,应用前景令人期待。
LiveVideoStack:能否介绍下三体云在实时视频领域有哪些特色技术和产品,未来有哪些发展规划?
李幸原:我们目前主要的产品是实时音视频云服务,通过集成SDK可以快速接入三体云的全球实时通讯网3TRTN,实现高质量低延迟的实时通讯,同时我们还提供一站式直播解决方案。未来我们会继续聚焦在实时通信领域,在编码端结合AI,打造更加智能,高效的实时通信产品。
LiveVideoStack:展望整个多媒体通讯领域,你认为哪些(开源)技术栈将会快速发展?
李幸原:主要还是两个吧,编解码端的FFmpeg以及通讯的WebRTC,在相当长的时间内,这两者的引领地位应该是不会被撼动的。
LIveVideoStack:说说你将在LiveVideoStackCon 2018分享的内容吧。
李幸原:我分享的内容将主要围绕我们是如何打造高质量低延时的实时视频通信,以及在这个过程中我们遇到的一些问题。