拍乐云受邀 QCon 大会 | 详解音视频技术架构实践,首发美术教学音视频方案
5 月 29 日上午,在「QCon 北京全球软件开发者大会」上,拍乐云 Pano 创始人赵加雨受邀作为「音视频服务解决方案专场」的首位技术专家,为大家带来实时音视频技术架构的深入分析,并讲解拍乐云在视频通话、互动白板和弱网对抗技术中的最佳实践,同时,正式发布业内首个「美术教学实时音视频方案」,引发众多关注和好评。
QCon 是由极客邦科技旗下 InfoQ 主办的综合性技术盛会,面向 5 年以上工作经验的技术负责人、架构师、工程总监、开发人员分享技术创新和最佳实践。除了北京,每年还会在伦敦、东京、纽约、圣保罗、上海、旧金山等地召开。
实时音视频产品在线上化、数字化的趋势下,已成为各行各业的刚需。拍乐云 Pano 团队作为新一代实时音视频云服务领军者,在 RTC 技术方面有近 20 年的深厚积累,并注重探索这些创新技术在业务场景中的价值与落地,以下为演讲实录。
#1
实时音视频的“两高一低”
实时音视频非常强调“两高一低”,即高质量、高流畅和低时延。
高质量是指音频高保真,无回声噪声,音量适中,视频清晰;
高流畅是指音视频流畅无卡顿;
低时延在实时音视频产品里是非常重要的指标。ITU-T 建议标准里提到,如果端到端时延低于 200 毫秒,用户体验会非常好,时延在 200~400 毫秒时用户体验下降但可以接受,时延超过 400 毫秒的话多数用户都会不满意。
为了实现实时音视频的两高一低,需要在系统架构、音视频编解码、全球组网、服务端分发、弱网对抗等各个环节做到最优。一般而言我们应该尽量兼顾“两高一低”这三个指标,但是在实际场景中往往无法做到兼顾,那么我们就会在“两高一低”里有所取舍。在视频会议场景下一般是保障高流畅低时延,可能会适当牺牲高质量;而在美女直播、电商直播等场景下,高质量低时延可能更重要一点,会适当牺牲视频流畅性,多数场景下低时延都是要尽量保障的。
#2
音视频技术总体架构
拍乐云的技术架构来源于视频会议架构,并在此基础上做了演进迭代。
一个典型的视频会议架构一般是多 DC、分布式的,客户端就近接入,媒体服务器可能会进行同 DC 和跨 DC 级联。视频会议架构非常复杂,里面涉及的技术点有很多,包括:客户端如何实现就近接入、如何进行全球组网和智能路由、音视频编解码怎么选择和优化、服务端使用 SFU 还是 MCU、端到端的 QoS 怎么实现、与 PSTN 网络和传统的 SIP 终端如何实现互联互通、级联怎么做等等。
从另一个维度讲,拍乐云技术架构也是非常典型的微服务架构,有配置中心、服务注册与发现、全局调度、认证授权等服务治理模块,也有限流熔断、弹性伸缩容、监控报警、大数据平台、Pano Backbone 等保障服务高可用的组件,提供的核心功能有音视频通话、互动白板、互动直播等。
#3
互动白板技术实践
互动白板是在线教育、企业培训等场景下的刚需功能,一个好的互动白板产品需要解决这几个问题:
性能,时延是不是足够低?频繁互动时笔迹同步是否实时?在弱网时是否会同步不及时或者出现白屏?我们采用了私有数据格式并做了极致压缩,确保数据量尽量小,在白板绘制和渲染时采用原生技术,确保内存占用更低、CPU 消耗更小,在网络传输上利用我们的全球加速网络 Pano Backbone 确保了跨国、跨运营商的实时传输。
动效课件支持得如何?课件里的音频和视频播放是否支持?我们自研了转码引擎和白板引擎,可以做到动态课件的超高保真,也可以支持各种动效和音视频文件播放。
和音视频的同步推流和同步录制怎么实现?我们同时提供音视频和白板功能,因此只需要一次 API 调用就可以完成音视频和白板的同步录制和推流,用户使用起来会非常方便。
#4
弱网对抗技术实践
互联网有几个特点,首先互联网本质上是尽力交付,而不是可靠交付。当出现拥塞和弱网时,可能就会有丢包等。其次互联网比较强调公平性,一者互联网对于所有数据包是同等对待的,当出现拥塞时可能会无差别的丢包,二者我们在做弱网对抗时也需要考虑公平性,不要把拥塞控制算法设计的特别激进,最后,互联网有各种跨国、跨洲、跨运营商的问题。常见的网络问题有:带宽受限、抖动、时延、丢包、乱序等。
抵抗弱网需要软硬两手抓,硬件主要是指基建和调度算法,软件是指各种 QoS 算法。
在网络基建层拍乐云构建了全球实时传输加速网络 Pano Backbone,可以实现全球加速、智能路由和用户就近接入。
在软件层,我们的 QoS 算法包括几部分,首先是带宽评估和拥塞判断,一般是基于丢包、时延、RTT 等指标来判断拥塞。在感知到拥塞又可以做各种抗丢包的策略,包括 FEC、ARQ、RED 等,这些策略算法各有优缺点。最后网络 QoS 并不仅仅是抗丢包,还包括平滑发送、慢启动、关键帧请求等各种拥塞控制手段。
我们做任何的弱网对抗都不要忘记“两高一低”,每一种 QoS 算法都有适用的场景,如果用错了场景,可能会带来比较严重的副作用,譬如 ARQ 算法,当出现 70%丢包时,如果我们希望实现 99.9%的包到达率,那么就需要重传 20 次,即使 RTT 只有 100 毫秒,最终传输数据包也需要 2 秒,这个时延在实时系统里是无法接受的。再比如 FEC,当出现 70%丢包时,为了达到 99.9%的包恢复率,以 5 个原始包为例,也会导致 790%的冗余率,这个对于带宽消耗是非常高的。我们需要在出现弱网时,根据不同场景选择不同的抗弱网算法,最终仍然要保障高质量、高流畅和低时延。
#5
首创美术教学音视频方案
在线教育是实时音视频很重要的一个应用场景,结合我们的技术积累和客户的需要,我们推出了美术教学音视频解决方案,帮助客户构建一个强互动、沉浸式的美术教学线上课堂。通过多摄像头能力可以实现老师、学生双向同时看到对方的视频和画板;通过角度矫正可以将画板调整为正对拍摄的效果;通过视频标注能力可以随时指出绘画时的重点和要点;通过动效课件可以非常方便地进行绘画教学;通过云端录制方便地进行课后回放和复习;通过 Pano Backbone 实现全球用户的就近接入。
关于拍乐云 拍乐云成立于 2019 年,由红杉中国种子基金领投,是国内唯一一家视频会议背景的实时互动通信云服务商。公司汇聚了一大批专注于音频、视频、白板、网络、AI 等领域的资深技术专家。通过集成 Pano SDK,企业开发者即可在全球范围内快速实现互动小班、超级小班、双师大班、语音聊天室、视频社交、直播连麦、游戏语音、视频客服、远程医疗、办公协作等场景。
评论