1、抖音世界杯中RTC的技术挑战与实现火山引擎 RTC 互娱解决方案负责人/叶峰峰毕业于北京邮电大学,毕业后一直从事 RTC 相关工作。2019年加入火山引擎,主要负责 RTC 互娱场景解决方案的建设和业务的支持,先后支持抖音社交音视频通话、抖音连麦玩法功能的开发和优化迭代。About Me抖音世界杯“边看边聊”介绍整体方案与技术挑战超高并发的问题优化和实践音频体验问题的优化和实践总结与展望大纲01.抖音世界杯“边看边聊”介绍我们怎么看世界杯 4K超高清 50 fps高帧率 2.5s低延时 广电级直播体验大学阶段看世界杯2018年世界杯决赛抖音世界杯“边看边聊”增加增加有效互动有效互动边看边聊边看
2、边聊还原线下还原线下看球体验看球体验 互动互动 分享分享 看播渗透看播渗透 看播时长看播时长抖音世界杯“边看边聊”实时语音互动玩法实时语音互动玩法单频道最多500500人每个频道允许9 9个用户上麦聊天,另外491491人不发言支持上麦、下麦、静音、屏蔽远端语音、人声音量显示等功能实时语音互动目标实时语音互动目标边看边聊实时语音互动 PCUPCU 100W100WRTC服务稳定性指标 SLASLA 99.9%99.9%RTC Crash SDK crash率=1 1线上用户反馈率 限流阈值:限流阈值:记录当前时间戳+请求上下文到请求队列延迟执行 LoopLoop循环处理:循环处理:当前时间戳-
3、请求时间戳大于超时阈值,丢弃请求小于超时阈值,继续处理;请求发送成功后删除该请求异常场景考虑异常场景考虑用户很短时间内重新进房问题用户退房后断连问题线上数据线上数据比赛中场休息、比赛结束阶段通常出现大量集中的用户退房请求。决赛当天,RTC 退房 QPS 最高 3.2w04.音频体验问题的优化和实践音频体验问题的优化和实践边看边聊边看边聊-回声消除和音质优化回声消除和音质优化RTC回声问题解决回声问题的两个要素边看边聊场景音频托管方案边看边聊场景高音质解决方案外放媒体模式 +高音质3A边看边聊边看边聊-远端人声响度优化远端人声响度优化音频闪避实践边看边聊场景的回声问题RTCRTC 回声问题回声问
4、题A端播放的B端声音被麦克风采集形成回声B听到自己说话的声音,感知到回声现象RTCRTC 回声消除回声消除目标:发送到远端的数据只包含本地语音回声消除两个要素:回声消除两个要素:回声消除参考信号回声消除算法:模拟回声路径边看边聊回声和音频托管解决方案边看边聊场景回声问题边看边聊场景回声问题直播音频回声远端人声回声参考信号问题:直播音频托管方案参考信号问题:直播音频托管方案音频数据解码后回调RTC播放RTC将远端音频、本地比赛声音混音后做回声消除 和 本地播放回声消除算法问题回声消除算法问题移动端音频外放通道模式高音质3A算法音频外放媒体通道模式边看边聊使用通话通道模式边看边聊使用通话通道模式边
5、看边聊使用媒体通道模式边看边聊使用媒体通道模式优势优势 更好的回声消除效果,语音聊天声音更清晰问题问题/挑战挑战 手机音频媒体通道音量和通话通道音量不同,从直播切换边看边聊后声音突变,切换体验差 切换边看边聊后,由于使用通话模式,直播音质明显变差,观赛音频体验大打折扣优势优势 从直播切换边看边聊时,音量大小没有变化,切换更平滑 切换边看边聊后,直播声音仍然使用媒体通道,更好的观赛音质体验问题问题/挑战挑战 系统回声消除效果差,需要业务层(RTC)自己实现外放媒体模式优化和线上数据数据高音质高音质3A3A 保障边看边聊音质体验保障边看边聊音质体验:使用全媒体模式火山引擎RTC使用自研的基于深度学
6、习的高音质回声消除算法,在确保不漏回声的基础上保障了媒体高音质表现iOS 端放量 iphone6 以上所有机型视频聊天室互动社交人均开启时长显著正向+5.X%+5.X%互动社交人均开启次数正向+2.X%+2.X%视频聊天室互动社交主播人均被连线时长显著正常+6.X%+6.X%互动社交主播人均被连线uv显著正向+6.X%+6.X%。Android 端放量占比超 85%85%,语音场景全量全量语音聊天室社交人均连线时长显著正向+4.X%+4.X%线上实验数据线上实验数据(全媒体模式全媒体模式 vs vs 通话模式通话模