在LiveVideoStack线上交流分享中,爱奇艺技术研究员李晓威分享了基于爱奇艺Hydra平台的剧场直播云端混流方案,重点讲解如何提升WebRTC推流成功率并提升音视频质量,如何做到点播流在客户端和云端同步解码,以及混流服务如何做到高并发、高可用等。
文 / 李晓威
整理 / LiveVideoStack
直播回放
https://www2.tutormeetplus.com/v2/render/playback?mode=playback&token=308d66a1b64d401a9a983db51a59777d
大家好,我是来自爱奇艺的技术研究员李晓威,在爱奇艺主要负责视频通话相关业务的落地与视频混流的技术实践。接下来我将为大家分享爱奇艺的剧场直播云端混流解决方案。
我将从以下三个方面为大家分享今天的话题:
剧场直播背景
云端混流架构
系统优化
我们通过优化提高推流成功率与音视频质量,并尝试构建高并发、高可用的混流服务架构。
1. 技术背景
剧场直播作为我们的技术背景,与主播端设备上的麦克风与摄像头采集主播音视频数据并于本地完成编码后推送至CDN而后分发给在线的观众的游戏直播略有不同,其主要应用场景是主播一边观看某视频,一边对视频内容进行评述;同时客户端用户在观看与主播端相同的视频画面的同时也会听到主播对此视频的评述。相对于游戏直播,剧场直播需要处理两路流,这里就牵扯到混流问题。混流不仅是为向观众呈现更统一的观看体验,更是为了节省带宽占用。但这两路流的类型、协议、传输时间、延迟可能都不同,并且随着网络的抖动,数据流也会发生变化。我们应该如何妥善处理混流问题?能否在客户端进行混流?
答案是可以,但在客户端混流面临许多问题。如果选择高清编码那么混流对上行带宽的要求非常高,一般的Android手机性能无法承受此性能压力;同时对一般的家用带宽而言,上行带宽资源十分有限,编码出的结果也会不尽如人意;除此之外,如果手机端没有一些现成的混流工具,单纯采用录屏方式会造成个人隐私的泄漏,这些都是我们不愿意看到的。
2. 云端混流架构