正文字数:5401 阅读时长:8分钟
现在云游戏,云应用越来越火,所以超低延迟实时流媒体传输技术的需求应用场景会越来越多。腾讯专家工程师刘泓昊老师在LiveVideoStackCon 2020北京站的演讲中,对超低延迟传输技术从传输协议的设计选择到流控算法和采集都分享了自己不同于行业的理解。
文 / 刘泓昊
整理 / LiveVideoStack
类似云游戏这一类场景是实时视频传输领域中最难的场景,今天主要分享一下我们这两年云游戏场景上做的一些工作和思考,也会提到一些我们不同于行业的观点。
这两年云VR,云游戏,云应用重新火起来。很多大公司都在加入这个行业,像云游戏,从全球来看所有巨头都在做,包括阿里,腾讯,Amazon,Facebook,Google都在做这个领域。其实这些应用早些年并不是没有,没有做起来的一个重要原因是网络能力跟不上。我非常感同身受,几年前要求几十兆码率延时只有几十毫秒是不可能的,但是随着整个中国互联网的发展,家庭都做到光纤入户百兆起步, WIFI5的大规模普及,已经有越来越多的用户网络能满足应用的要求,未来随着WIFI6的普及和5G的兴起,我相信新的时代快要来了。
从依赖buffer抗抖动到不抖动
简单看一下类似场景对网络的要求,这种场景本质上是内容生产即消费,它们的间隔在十毫秒级。我们要让用户得到非常好的视听感受,需要足够大的速率来传输视频画面。以云游戏为例,云游戏想让用户的体验接近于本地游戏,只是就1080P而言,需要码率在20Mb以上,这还不算未来的4K、8K视频。云VR可能需要70兆。
简单用三个词描述对应用的要求,就是零缓冲,超低延迟,大带宽。随着边缘计算的大规模普及,网络的物理延迟倒还不是太大的挑战,关键是我们怎么让软件的传输延迟无限接近于物理延迟,怎么充分利用带宽、怎么从以前利用buffer来对抗网络抖动,变成让网络不抖动。 我们一直以来的观点是,网络传输协议设计和优化的本质是端到端的QoS,即结合应用的QoS来设计最合适的协议和算法,因此面向新的应用场景和技术挑战,我们需要围绕着零缓冲,超低延迟,大带宽来设计我们的系统、协议和算法。
我们所有的东西都是基于零缓冲,超低延迟,大带宽来设计的。
协议设计的关键点
今天的内容我主要讲三点:
可靠性, 为什么我要强调可靠性,主要有两点原因:
1. 大码率场景下,单位吞吐大幅增加,单帧大小大幅增加,导致丢包数大幅增加,尤其是重传包丢包数大幅增加对我们的丢包处