快手与直播延迟卡顿较劲的这些年

发布于:2020 年 7 月 3 日 16:13

快手与直播延迟卡顿较劲的这些年

2020 年,COVID-19 成为“世界的通用语言”,截止 7 日 2 日,全球累计确诊超过 1071 万人。目前,虽然世界各国不再提倡全民主动宅家战“疫”,但人们原先正常的工作节奏和社交习惯已被打破,各行各业出现了裁员潮。

疫情之下,百业凋零。而一场疫情却将宅文化与宅经济再次带入到大众的视野。宅文化源自于上世纪 80 年代的日本,当时众多日本青少年、无业者以及在职员工沉迷于游戏和动漫,促使日本的 ACG 产业(Animation 动画、Comic 漫画、Game 游戏)得到了快速发展。而现状之下,游戏产业似乎再次成为了时代的宠儿。

在疫情最严重的 3 月底,Newzoo 市场分析师曾发文表示,根据 Verizon 的报告,高峰时段的游戏流量较前一周增加了 75%。同时 Twitch 和 YouTube Gaming 收看率较前一周均至少增长了 10%。管中窥豹看本质,人们在疫情期间花费了更多的时间在电子游戏上,由此直接拉动了游戏直播的飞速发展。
快手与直播延迟卡顿较劲的这些年图片来源:快手直播官网

快手作为短视频与直播领域的先行者之一,十分重视游戏直播领域的发展。随着游戏类内容的不断扩充,快手敏锐的观察到由于游戏直播兴起给通信技术带来了严峻的挑战。近日,快手正式发布了基于流式的直播多码率自适应标准 LAS(Live Adaptive Streaming),其用于提供低延迟、平滑、流畅的直播体验。快手科技算法科学家、传输算法团队负责人周超博士表示,快手已将 LAS 端到端的解决方案开源,帮助业界更多用户实现零门槛接入和使用 LAS 解决方案。

拿来主义真的好吗?

从 2016 年开始,快手开始着手组建音视频技术团队。到了 2018 年,快手开始关注到多码率自适应的问题,而受限于当时团队人手不足,无法集中进行开发。2019 年,随着直播业务的快速发展,快手游戏直播业务激增,多码率自适应方案再次被团队提上日程。

根据 2019 年数据显示,快手的直播 DAU 超过 1 亿,其中游戏直播日活用户数达到 5100 万。周超博士表示,站在用户角度,游戏直播体验至关重要,快手针对其面临的三大痛点:卡顿、模糊与延迟大,进行了针对性的研发。

对于这些问题,单独优化某一个指标并不难,难点在于彼此之间互相制约。例如通过降低码率能降低卡顿率,提升观看直播的流畅度,但降低码率损失了清晰度的体验,会引起直播画面模糊。同时低延迟会带来良好的体验感受,但过低的延迟,客户端的缓存数据也越少,对网络抖动的抗性也越差,又会增加用户的卡顿风险。

面对游戏直播的复杂性,显然单一的视频质量(码率、分辨率)或固定的档位下发策略难以适应,多码率方案已经成为平衡清晰度与卡顿的最佳选择。同时考虑到快手用户的规模庞大且分布广泛,网络差异性较大,究竟如何进行技术选型,这个难题摆在了快手音视频技术团队面前。

周超博士透露,针对多码率方案,当时团队有两条路可以走,一是拿来主义,二是自研之路。

拿来主义:多码率自适应是在抖动网络下保证观看流畅度最有效的手段之一,主要包括 MPEG-DASH 和 HLS 这类国际标准协议。优点在于部署快,见效快。但二者均是基于分片传输,设计之初主要用于点播场景,而非直播。其直接用于直播场景会造成延迟过大,直接影响直播体验,显然对于快手来说是无法接受的。虽然目前 MPEG-DASH 和 HLS 都有低延迟方案的选择,例如 LHLS,但此类方案尚未标准化,离落地应用尚需时日。

自研之路:自主研发一套高清晰、低卡顿、低延迟的直播多码率方案。自主研发相较拿来主义优势明显,首先从前期架构、算法、协议等方面考虑,快手可以自由调控,灵活结合不同业务需求进行优化。其次,对于后期部署而言,自主研发可兼容多种框架、支持多种协议,保证方案的易扩展性。但同时自研的缺点也很明显,方案从零到一各方的不确定性将会是最大的挑战。此外,针对快手而言,直播主要依靠第三方云厂商进行分发,采用自研的方案,意味着需要所有 CDN 厂商配合做定制化开发。

好在快手对于自研新技术应用经验丰富。周超博士透露,已经成熟落地的 KTP 方案便是由快手自主研发,拥有自主的知识产权。当时的快手同样面临两难的选择,经过反复的斟酌与权衡,为了把传输做到极致,快手毅然选择了自研 KTP 方案。目前,KTP 方案已全面用于快手的各项业务,应用反馈良好,这也让直播多码率方案团队拥有了更坚定的信心。

自研之路 = 理想的思路 + 执着的坚守

丰富的自研经验以及团队的坚定信心,让快手再次走上了自研之路。周超博士强调,已有的解决方案均存在不足,难以满足快手对于业务发展的需求。因此,快手自主研发了一套基于流式的直播多码率自适应方案,其目标是在支持直播码率自适应的同时,实现流式直播的低延迟。

低延迟与清晰度兼顾的自研思路

总体而言,本次快手推出的直播多码率自适应方案包含两大特性:一是基于流式传输,保证低延时;二是支持多码率,依据每个用户的网络状态,自适应选择最佳的视频清晰度。
快手与直播延迟卡顿较劲的这些年
与传统的基于分片的多码率架构相比,基于流式的直播多码率能提供更低的延迟,在架构上也有一些特性,主要包括:

转码:不同于 MPEG-DASH 或 HLS,基于流式的直播多码率方案在转码时不需要进行切片操作,只需在转码时保证不同的转码流 I 帧的 pts 严格对齐,从而保证视频流的无缝切换

CDN 功能升级:CDN 侧也即基于流式的直播多码率方案的服务侧,需要升级支持三种拉流模式,即默认位置拉流(传统拉流模式)、绝对位置拉流(指定吐流绝对位置)与相对位置拉流(指定吐流相对位置)

自适应算法:在自适应算法上,与分片传输的策略相比,基于流式的传输逻辑会一定程度增加自适应算法的难度(例如在流式传输中,因为源数据实时产生,观测到的平均带宽值近似等于当前请求的视频码率,无法反应真实的带宽),但流式架构更加灵活,并且能显著降低分片架构中存在的传输 ON-OFF 现象,从而降低了码率切换过于频繁的问题。周超博士指出,快手针对流式的直播多码率方案,设计了一套高效的自适应算法 ,并将具体实现对外开放

自研之路没有秘诀只有坚持

起初,基于已有的自研经验,快手自研之路还算顺利。周超博士表示,当时团队内部氛围积极乐观,预估三至五个月后方案便可上线。团队之外,CDN 厂商也都十分认可这套架构,配合度极高,解除了方案落地的后顾之忧。

但理想很丰满,现实很骨感。经过四个月的开发与联调工作,直播多码率自适应方案进入了灰度与 AB 测试阶段。最终,迎接团队的不是成功的惊喜,而是失败的心灰意冷。根据反馈数据显示,无论是卡顿率等 QoS 数据,还是时长等 QoE 数据都呈现负向。周超博士透露,当时就连自己都产生了自我否定,开始怀疑是否是多码率自适应算法设计存在缺陷。

到底为何数据会呈负向,周超博士和团队开始了漫长的求证和优化过程。首先,周超博士对算法的逻辑和实现进行了反复检查,基本排除了算法的因素。接着数据负向排查持续进行了数月,但方案收益依然颗粒无收,直播多码率自适应方案一度变成了烫手山芋,甚至到了搁置的状态。团队内部氛围十分低落,方案优化更是无从下手。

自研之路没有秘诀只有坚持。周超博士认为,做事情总该有始有终,为了激励团队,自己硬着头皮重新梳理了整个方案,责任到人,逐个环节去跟核心开发人员核对预期需求和具体实现情况。强迫团队内部开始行动,基于数据驱动,采用加埋点、AB 测试、数据分析与优化不断循环的方式,不断发现问题、解决问题。

经过数月的分析与优化,2019 年 10 月直播多码率自适应方案存在的问题全部得到了解决。并在“实战”的游戏直播中,成功的保证了直播视频的清晰度、卡顿率与延迟,用户时长等 QoE 收益增长明显。当游戏直播的收益开始凸显,快手 APP 也决定采用该方案提升站内直播体验。目前,这套方案已经全面应用于快手的各项直播业务。

以开源驱动行业发展

鉴于此,直播多码率自适应方案开始逐步实现标准化与方案开源。周超博士表示,一方面,随着方案的收益稳步提升,获得了诸多的肯定。另一方面,考虑到如今市面上没有针对直播多码率标准的方案,这也许是快手为业界作贡献的好机会。经过团队内部的协商,正式将该直播多码率方案命名为 LAS,目前快手已经将整套方案重新梳理,形成 LAS 的标准文档,并已正式开源。

行业要发展,标准须先行。快手选择做标准与开源,主动对外开放技术,只是希望可以帮助其他企业少走些弯路,毕竟直播多码率自适应方案从开始调研,实现再到全量,快手解决了方案和架构选择、工程实现、算法优化等诸多问题。

至于超越,我觉得这也是一种好事,说明 LAS 还有很大的优化空间,周超博士解释道,快手从不怕“别人偷技术”。其实开源的意义也在于开放心态和乐于分享,这标志着一个项目可以汇集多支团队的智慧,也许困扰你的难题便会迎刃而解,这和闭门造车的理念形成了鲜明的对比。

目前,LAS 开源涵盖服务端、客户端和自适应算法。阿里云、腾讯云、百度云、金山云、网宿云等云厂商均已支持 LAS。此外,业内知名开源流媒体服务器 SRS 也已支持 LAS,基于 SRS 4.0 及更高版本,企业客户也可搭建自己的 LAS 服务端以满足个性化的需求。在客户端,快手已经开源了 LAS Web 的实现,包括协议、架构和自适应算法。

当下只是 LAS 1.0,未来 LAS 还将进一步完善优化,主要包括以下几个方面:

跨平台:未来快手希望可以实现跨平台的支持,例如移动端的支持和开源。

多协议:在协议层面,目前开源的版本是基于 HTTP-FLV 的实现,未来可以支持更多协议,例如 WebRTC、QUIC 等。

全链路:LAS 目前主要是针对拉流端的多码率自适应方案,未来将涵盖推流、转码,打造一套全链路的解决方案。

自适应算法:自适应算法是 LAS 高效性的保障。快手拥有完善的测试环境,AB 系统,为新算法的对比、迭代优化和落地奠定了基础。

嘉宾介绍

快手与直播延迟卡顿较劲的这些年
周超博士,毕业于北京大学,曾任职于华为 2012 实验室。现任快手科技算法科学家,快手传输算法团队负责人。主要研究方向包括多媒体处理与通信、流媒体传输优化等,发表论文 40+,申请专利 50+,曾获得 2012 年 IEEE VCIP Best Sthttp://url IEEE VCIP Best Paper Award。

如欲了解 LAS 的详细文档、架构、部署方式、测试数据等,可以登录 LAS 官方网站

阅读数:2 发布于:2020 年 7 月 3 日 16:13

评论

发布
暂无评论