云渲染在现实⽣活中,得到越来越多的应⽤。其中,云游戏是云渲染最为经典的落地场景,多家游戏互动直播平台⽬前已经对接腾讯云云游戏 PaaS 平台,异常⽕爆。另外,万科南头古城云渲染项⽬也是腾讯云云渲染团队完成的。在可见的未来,云渲染将会有更多更有想象力的落地场景。
和直播场景不同,在云渲染的场景中,用户关注的是⼀个按键发出后,到看到操作的响应,总共需要多少的时间,更关注低时延。我们选择 WebRTC 技术作为我们的低延迟⽅案。
WebRTC 使用 UDP 传输,采⽤ NACK 重传来保证可靠传输。比如 SDK 发现某个序号的包丢失,会发送 NACK 请求给服务端,服务端收到重新下发指定序号的包。
在 WebRTC 应⽤中,延迟主要包含⼏个⽅⾯:
- 物理时延,这是数据包在⽹络传输的时间;
- 指令上⾏延迟,该阶段用户按键等指令上传⾄云渲染服务端;
- 云端响应渲染 编码画⾯;
- 端上延迟,主要包括 JitterBuffer,解码延迟,渲染延迟。
由于云端渲染和软件有关系,⼀般情况下相对固定;编码耗时也相对固定,于是我们重点优化物理时延和端上延迟。
- 就近调度 -
物理时延是优化的第⼀环。当前云渲染全国有多个数据中⼼供客户接⼊。用户对接时,会选择最近的节点接⼊。但客户在某个节点购买的机器有限,当满载时,依旧会出现非最优调度,进⽽影响用户体验。针对这个情况,我们有多个优化策略:
- 部署更多的节点;
- 定期输出异地调度报告,客户可以根据实际情况,在某个地区增购机器;
- 弹性 Buffer。当客户某个区域满载时,可临时启⽤ Buffer 资源,满⾜峰值需求。
- 自适应 Pacing 算法 -
Pacing(平滑发送)在⾳视频传输中必不可少,但关注端上低延迟的 pacing 算法需要特殊的设计。低时延 Pacing 模块会动态计算帧间间隔时间 N,将⾳视频数据包在 N 时间内均匀下发。如此可以兼顾端上低延迟和平滑发送。
为了追求更极致的体验,Pacing 可以变得更加智能。Pacing 模块会在拥塞控制(CC)模块中设置⼀个回调,Pacing 根据 CC 回调的拥塞信号,调整 Pacing 的策略,在极端弱⽹下,能取得更好的综合体验。
- 更灵活的拥塞控制 -
⼀个好的 Pacing 算法依赖智能的拥塞控制算法。Google TCC 通过探测包组到达时延,结合⼀系列滤波算法,减少噪声影响后,评估出当前⽹络的情况。因为现实复杂的网络环境中,⾼画质视频和低延迟是天平的两端,需要平衡,因此我们在 Google TCC 的基础上,调优滤波器的敏感程度,使其更适⽤于云渲染的场景,并可以达到不同的敏感程度,可供用户主动决定使⽤敏感级别。
- 解码延迟优化 -
⼀些⽼旧的设备甚⾄⼩部分⾼端⼿机,忽略了硬解的低时延优化,甚⾄软解的时延更低。我们在WebRTC 协商时,动态为某些终端设备开启智能软解,部分场景时延可以降低 75% 以上。
我们通过在 SDP 交互时,下发机型软解配置,并在运⾏过程中上传机器负载信息,联动编码器动态调整,下发动态软解配置,以降低软解时的负载。
云渲染PaaS平台适用于各类应用、软件,支持微信小程序、H5、App等各类终端。我们领先的WebRTC低延时优化技术能力,配合腾讯云丰富的边缘计算节点和灵活的GPU虚拟化技术,保证了用户的极致体验。云渲染PaaS平台还提供成熟的资源调度体系和控制台,能够更高效的管理实例资源、维护应用库。
此外,我们还提供应用预热免加载、自动更新、云存档等丰富附加功能,满足用户的细致要求。
作为通用能力,云渲染可以不断衍生拓展,助力产业变革!
目前,腾讯云渲染团队已为行业提供云游戏、云桌面、云咖、数字孪生实时渲染等产品和解决方案,并在游戏、医疗健康、建筑城市、文旅、工业等各类场景有成功落地经验,我们还在探索虚拟主播等更多应用新场景。
未来,我们将持续致力于创造更轻量化的沉浸式体验,促进产业升级提高生产效率,为实现元宇宙和科技向善而不断贡献力量。
腾讯云音视频在音视频领域已有超过21年的技术积累,持续支持国内90%的音视频客户实现云上创新,独家具备 RT-ONETM 全球网络,在此基础上,构建了业界最完整的 PaaS 产品家族,并以 All in One SDK 的创新方式为客户服务。腾讯云音视频为全真互联网时代,提供坚实的数字化助力。