写点什么

经历过亿级 DAU 的打磨检验,抖音同款 RTC 到底有何魔力

  • 2022-12-06
    北京
  • 本文字数:3859 字

    阅读完需:约 13 分钟

经历过亿级DAU的打磨检验,抖音同款RTC到底有何魔力

作为国内知名的短视频平台,拥有亿级活跃用户的抖音已经成为现代互联网用户日常生活的一部分。来自全球各地的音视频内容深刻影响了人们的生活、工作和娱乐方式,实时音视频交互也已演变成互联网的主要交流模式。


熟悉音视频技术的开发者都能意识到,抖音亿级日活的背后必然有着极为强大的技术支撑体系。在这一体系中,占据最关键地位的就是字节跳动于 2021 年向行业公开的火山引擎 RTC。经历了过亿级 DAU 产品的持续打磨与完整检验,火山引擎 RTC 将其沉淀的关于音画质提升、架构设计、抗弱网、机型适配等技术成果打包成“抖音同款 RTC”产品及服务,赋能广大企业和开发者,同时助力平台解锁各类场景新玩法,为平台创新增长打开想象空间。如今,火山引擎 RTC 已成为业内 RTC 技术的顶流之一,围绕该引擎发展的火山社区正在吸引越来越多的开发者共同参与和建设。


在 Qcon 全球软件开发大会 2022 上海站上,火山引擎 《实时音视频技术在抖音上的深度磨砺》专场,邀请了来自火山引擎团队的四位高级工程师就 RTC 体验革新、端云协同、出海优化等主题展开分享。本专题深度挖掘了抖音背后实时音视频技术架构的能力与实践经验,获得了与会观众的热烈响应与好评,也为实时音视频技术从业者提供了宝贵的见解和启发。

RTC 与互娱应用


实时互动娱乐是 RTC 技术的主要应用场景之一。对于互娱应用的产品负责人与开发者而言,如何充分利用 RTC 技术的潜力,不断探索互娱应用的全新增长点是日常工作中面临的重要挑战。在本专题的开场,拥有 8 年视频云平台架构设计和管理经验的火山引擎 RTC 互娱产品架构师刘云龙登台,带来了主题为《聚焦增长,探索 RTC 在互娱应用的新进化》的演讲,基于抖音的实践经验为与会者解读上述主题。


在互娱从业者的一般印象里,RTC 作为底层技术与应用的业务表现是没有太大关系的,但火山引擎在实践中得出了不同的的结论。经过团队与抖音业务方的沟通,火山引擎总结出了 RTC 技术与业务指标的几大关键焦点:连麦建连成功率、建连耗时、主播画面清晰度、视频卡顿水平、连麦音质。火山引擎复用了 RTC 音视频流传输链路与弱网对抗策略实时信令,将建连成功率从 2% 优化到了 1.1% 的水平。



接下来,团队借鉴 CDN 首帧策略优化了建连耗时,做到了真正的瞬开体验。针对主播画面,火山引擎优化了人脸算法,并与手机厂商深度合作适配,解决了小主播设备条件不足时经常出现的人脸过曝过暗问题。


如今,互娱领域出现了很多新的场景和玩法,例如跨房厅战、线上 K 歌、边聊边玩等等。这些场景对手机性能、推流延迟、音质等指标要求颇高。火山引擎采用了 SFU+MCU 混合方案、GPU 带宽优化等方法优化了 CPU、GPU 和内存占用,显著降低了机型要求并提升了用户覆盖。团队还采用了三滤波结构和改进算



针对世界杯版权赛事这样的重大活动,火山引擎加强了平台数据感知、后台实时干预和分级服务实时切换能力。其中,平台实时数据感知的问题监控延迟从之前的 100 秒以上压缩到了 10 秒,确保出现问题后能够迅速响应和解决。


目前,火山引擎 RTC 已经接入了抖音小程序和小游戏平台,开发者通过抖音开放平台即可快速接入 RTC 能力,为自己的线上小游戏、小程序提供语音通话功能,并实现多平台互联互通。

数据驱动,“我离抖音还有多远?”


既然 RTC 技术对互娱应用的业务有着重要影响,如何提升 RTC 体验自然就成为企业和开发团队下一个关心的主题。用户体验 QoE 如何度量?QoS 和 QoE 如何关联?解答这些问题的关键就在于火山引擎 RTC 音视频高级架构师卢俊谈到的数据驱动。


如何准确定义 QoS 指标?这是开发者和业务方非常关注的一大挑战。火山引擎 RTC 在实践中总结的经验是,技术指标一般要对齐最小行为粒度,例如用户进房、发言、Mute 自己都要有对应的指标;QoS 指标要对齐最小阈值感受,例如音频卡顿率需要和正常语速对应,音频监控指标定在 80ms 为佳;最后,指标计算要对齐用户行为和反馈,实现透明可验证。


有了良好定义的 QoS 指标,接下来就要设法用这些指标帮助业务实现增长。这里的要点在于,并非每一项技术优化都会给业务带来正向收益,有时给成熟业务做的优化反而会有负收益。为此字节跳动搭建了 AB 实验平台来判断收益水平。经过长期实践,火山引擎 RTC 团队发现最重要的指标是可用性指标,需要尽量优化;体验类指标就需要更多探索,例如卡顿率与用户使用时长之间的关系就不一定很明显。


将各种指标与业务之间的关系做关联分析,就可以找到技术优化的最佳路径,也能更加准确地计算出技术改进带来的业务收益。


此外,团队还会收集用户对 RTC 的反馈数据,通过负反馈率来评估用户的满意度。



负反馈优化存在的痛点是,每日的线上反馈数量很多,很难全部人工分析,需要提升分析效率;有些问题的反馈量很小,但对体验的影响很大,需要专门识别。为此火山引擎 RTC 建立了负反馈异常特征库,可以有效提升分析效率并快速发现无声问题。


未来,火山引擎 RTC 会进一步总结内部对抖音的打磨经验来服务外部客户,探索更多指标优化空间。帮助客户解决用户实际面临的问题。上述特征库也会覆盖内外部客户,客户问题一旦命中特征库会迅速得到解决。


探索 RTC 体验升级新路线


端云协同在 RTC 技术优化中是常见的主题。在音视频特效大量应用于业务的背景下,互动特效算法与音视频云服务的充分融合是业务获得体验优势的重要路径。身为火山引擎智能互动特效架构总监。拥有近 8 年音视频创新实施经验的范青非常熟悉这一领域,并在本专题中带来了题为《端云协同创新优化音视频场景用户体验》的分享,讲述火山引擎互动特效算法引擎的创新点及技术积累,以及与视频云产品,特别是 RTC 融合的最佳实践。



涉及到用户体验主题,一份严谨的评测报告往往是第一步。评测需要主客观分析,以画质评测为例就需要画质的专家测评、专业小组评测、用户重测、AB 实验。这中间还需要搭建专业评测环境、引入专业工具等等。


经过严谨的评测后,开发团队可以找出影响画质的主要问题,随后开始分析最佳的优化路径。很多问题并不是简单提升参数就能解决的,例如 AI 算法的改进都要考虑低端手机的算力瓶颈。优化方案做出来要尽可能覆盖大多数用户、大多数机型,不能在低端机上有很明显的劣化。与此同时,某项方案的改进不能对其他指标产生明显影响,例如分辨率提升如果带来帧率的显著下降是不可接受的,需要有补帧之类的补救方案。此外,团队还需要考虑亮度、位深、色域等指标,各方面取得平衡来获得最佳的画质增强效果。


实践中,美颜这样的算法不仅要在技术底层下功夫,还要深度钻研受众群体的偏好。例如亚洲用户与欧美用户对美颜效果的需求就有很大区别,需要针对性制定不同的算法。这些算法在端侧都要做对应优化,并且要针对不同机型有分级部署策略。



作为云端服务平台,火山引擎提供了全套端云一体增强方案。该方案融合了常见的画质增强技术,并解决了海量机型适配难题,能够以 SDK 的形式为客户提供线上音视频体验增强能力。直播、点播、社交娱乐、游戏互动、在线教育等场景都可以利用该方案为用户提供极致体验。

火山引擎 RTC 全球化架构设计


疫情时代,全球实时互动应用迎来高速发展,各类优秀出海应用层出不穷。出海应用底层往往需要有稳定高可用的 RTC 架构做支撑,而各地参差的网络基建情况和复杂的运营商为 RTC 架构设计提出了更多挑战。本场专题最后,火山引擎 RTC 实时传输网负责人游望秋发表演讲《RTC 全球化架构助力业务出海》,带来火山引擎 RTC 在全球化架构设计方面的实践分享。


RTC 模型可以简化为信令部分和媒体部分,前者包括进房、发布和订阅消息,后者包括发布和订阅流。由此,RTC 全球化架构可以拆分为信令的全球化和媒体的全球化。



火山引擎 RTC 在全球有大量边缘节点,有多个信令中心机房组建信令全球同步网络,共同构成全球实时流媒体传输网络。边缘节点的主要目的是提供用户就近接入。调度服务收到用户请求可以分配到最近节点上,提供较低的延迟水平。与此同时,为了解决跨地域用户互动的延迟需求,云端还会做边缘聚合,减少跨节点流量浪费。这些边缘节点还构建了公网上的实时传输网,具备 QoS 保障。此外,云端还通过多电信供应商、多个边缘节点地址下发和故障节点及时收回等策略保障稳定性。


火山引擎 RTC 的信令全球化架构经过了五个阶段的演进。经过迭代,全球化架构发展为分布式房间架构,并引入了数据半同步模式提升体验,又加入了多径传输模式提升稳定性。全球化架构还统一了信令和媒体通道,并将很多能力下沉到了边缘节点。针对机房稳定性也做了很多工作,例如接入网关部署在多机房、加入 AIOps 组件等。



如今,火山引擎 RTC 的端到端网络延迟可以实现 200ms 达标率 99%,5s 进房成功率达 99.5%,体验非常出色。总体来看,引擎全球化设计的思路就是提升边缘计算能力,同时增强异地多活架构、提升稳定性。

未来展望


回顾四位嘉宾的精彩分享可以看到,火山引擎 RTC 的技术发展与迭代一直都是建立在推动业务发展这一宗旨之上的。只有获得了业务侧的认可,技术升级的价值才能得到充分体现。对于火山引擎的客户而言,这也意味着客户可以更好地感知每一次技术改进和优化所产生的业务收益。


未来,RTC 技术会向更低的延时、更好的清晰度与画质、更流畅等方向演进。除此以外,火山引擎 RTC 团队还注意到了 RTC 行业的一大痛点:使用较为复杂、指标缺乏标准。因此火山引擎 RTC 也在引领全新的 RTC 概念——基于标准协议的 RTC。火山引擎推出了 WebRTC 传输网络,使用标准的 RTC 协议适应更多 RTC 开发者。也能够让更多的 RTC 开发者参与进来,还能够实现不同厂商的 RTC 之间互通,形成“众人拾柴火焰高”的行业局面,推动 RTC 行业迎来全新的时代。

2022-12-06 16:247233
用户头像
王强 技术是文明进步的力量

发布了 883 篇内容, 共 504.6 次阅读, 收获喜欢 1786 次。

关注

评论

发布
暂无评论
发现更多内容

全议程公布丨涌现中重塑,PingCAP 用户峰会 2023 邀你共同引领创新力量!

PingCAP

MySQL 数据库 TiDB pingCAP 平凯星辰

云上办公时代,华为云桌面表现如何?

平平无奇爱好科技

利用小程序技术,构建数字警务体系

没有用户名丶

MySQL的match函数在sp中使用的BUG解析

GreatSQL

数据库 greatsql

聆心智能上榜“北京市通用人工智能大模型行业应用典型场景案例”

硬科技星球

推荐书单:个人成长的一些方法

老张

个人成长 书单

构建云上和云下统一的安全方案,华为云致力为企业降本增效

平平无奇爱好科技

货拉拉论文入选中国市场营销国际学术年会CMIC

科技热闻

​山东大学高校专区入驻飞桨AI Studio,优质教育资源等你来学!

飞桨PaddlePaddle

人工智能 百度 paddle 百度飞桨

不能不知道的LED显示屏产业机遇

Dylan

机遇 产业 LED显示屏 led显示屏厂家

PoseiSwap 治理通证POSE登录PancakeSwap,开盘涨幅超2100%

BlockChain先知

华为云云上云下一体化安全,如何为企业打造统一、高效的安全管理平台

平平无奇爱好科技

华为云游戏云端部署方案:如何为游戏厂商降本增效

平平无奇爱好科技

Python案例分析|井字棋(Tic Tac Toe)游戏 | 社区征文

TiAmo

Python 年中技术盘点 井字棋游戏

网络信息安全尤为重要,华为云如何为企业构建云上云下一体化安全方案?

平平无奇爱好科技

2023年CCF-百度松果基金课题申报持续进行中,截至7月24日

飞桨PaddlePaddle

人工智能 百度 paddle 飞桨 百度飞桨

🔥年中技术盘点暨7月主题征文活动开始啦!

InfoQ写作社区官方

热门活动 年中技术盘点

语音直播源码知识分享:探索新的沟通方式

山东布谷科技

软件开发 语音 源码搭建 直播源码 语音直播源码

华为云CodeArts IDE Online:让你随时随地畅享云端编码乐趣

华为云PaaS服务小智

云计算 软件开发 华为云 华为开发者大会2023

瓴羊QuickBI数据门户帮助企业高效管理和展示数据,使其更加明确易懂

对不起该用户已成仙‖

火山引擎DataLeap数据质量解决方案和最佳实践(三):最佳实践

字节跳动数据平台

prometheus描点原理

蓝胖子的编程梦

Docker 云原生 Grafana Prometheus #k8s

认知负担的挑战与平台工程的机遇

SEAL安全

DevOps 平台工程 认知负担

代码随想录训练营 Day07 - 哈希表(下)

jjn0703

爽游做得好,游戏部署方案必不可少,华为云游戏云端部署方案愈发吃香了

平平无奇爱好科技

休闲类匹配竞技游戏公司为何需要华为云游戏云端部署方案?

平平无奇爱好科技

华为云函数工作流FunctionGraph新手操作指南

华为云PaaS服务小智

云计算 Serverless 华为云 华为开发者大会2023

图+AI 生成未来|悦数图数据库亮相 2023 世界人工智能大会

悦数图数据库

AI 图数据库 大模型 AIGC

经历过亿级DAU的打磨检验,抖音同款RTC到底有何魔力_文化 & 方法_王强_InfoQ精选文章