AliRTC 开启视频互动 “零计算” 时代

简介: 在 2021 云栖大会《产业视频化创新与最佳实践》视频云主题论坛中,阿里云智能高级技术专家在《AliRTC 开启视频互动 "零处理" 时代》的主题演讲中,发布了阿里云视频云下一代实时交互解决方案 —RTC “零处理”,同时分享了阿里云视频云在 RTC 产品的探索和实践,以下为演讲内容整理。

image.png

一、交互演进与挑战

在过去几年,视频交互产品发生了什么变化?

我们认为 RTC 产品对行业产生了两次非常重要的变革。

image.png

第一次变革是 2014 年开始的交互从图文到音视频的升级。

2014 年,互联网创业者与 RTC 产品供应商一起探索视频互动的商业化, 教育、娱乐成为主要的突破方向, 基于全球范围内的互动授课、秀场视频连麦、多人交友互动,也大多在这时间点完成了商业与技术的成功结合。

2017 年是一个标志性的时间点,RTC 产品已经帮助头部互联网客户实现了颠覆性发展,标志着互动视频技术与在线互动商业模式的成熟。

接下来几年更多的是不同体量、不同场景的规模复制,所以我们能看到,在 2018 年以及后续的几年,市场上并没有新场景、新互动的创新,而是基于不同内容、不同客群的业务复制, 视频互动从头部走向更多的细分市场。

第二个重要变革发生在 2020 年,受疫情影响,让云视频会议全面渗透,让这个时间提前了至少 5 年。

这次市场的变化,我们不能称之为一次技术革命,实际上对 RTC 产品并没有新的诉求,也没有产生新的互动场景和技术,但这次大规模的渗透,重新定义了供应商的市场格局,第一次让云厂商成为了市场极其重要的一部分,让市场从单一的会议厂商,分裂为云平台 + 会议终端供应商,让我们的客户有了更多的选择。

从 2018 年到现在我们没有场景上的根本突破,是不是因为我们的技术上遇到了瓶颈?

带着这样的问题,阿里云对 RTC 场景技术进行了深入的技术评测,我们试图发现整个行业大家的技术水位是什么样的,不同于单项的视频技术,RTC 的评测要更为复杂。

例如,对视频编码,我们可以通过 PSNR,SSIM,VMAF 等来分析,对于视频分类等视觉算法,我们可以通过 ROC 曲线来分析,但对视频 RTC 来说,涉及的主观感受非常多,是一件比较复杂的事情,目前业界也没有统一的评测标准。

我们从这些影响用户感受的指标里面抽出六个维度表征 RTC 的表现质量。

对评测感兴趣的话可以关注我们的「视频云技术」公众号,里面详细介绍了我们怎么进行自动化评测的,评测过程中我们会创造不同的网络环境,检测 RTC 在各方面的表现。

image.png

我们对行业里的 RTC 做了一些评测,发现有两个特点。

第一,RTC 有明显的技术门槛,比如说绿色的框代表一类典型的 RTC 能力,由规模较小的团队自研,投入较小,会有明显的差距。

第二个是几个比较大的供应商,包括在阿里云在内,外面这一圈,红色的线、蓝色的线,以及黄色的线,他们都处于相对比较一致的水平,但是没有一家有特别优秀的地方,所以技术同质化特别严重,大家基本上处于同样的水平。

image.png

我们当前视频的实时互动主要集中在线上线下场景,未来可能会有更广阔的应用场景,比如说一些交互场景,VR 操控类、虚拟现实类。

这时候我们会思考一个问题,我们的技术是不是已经发展到了瓶颈期,我们无法满足未来更广泛的需求,这后面的原因是什么?会不会是我们的技术发展到某个瓶颈了?因为技术通常是阶跃式的发展,不能突破就会陷入在一个层次上。

二、“零处理” 加速交互升级

我们希望分析一下,现在用户的体验到底怎么样?我们现在的技术存在什么问题?

通过比较各家 RTC 供应商,我们发现一个比较有意思的点,就是大家有千分之二的卡顿率是难以消除的。50%、60% 的丢包都可以做的很好,但是如果网络带宽受限,千分之二的卡顿就难以消除了。

我们有一些手段可以解决类似的问题,比如利用窄带高清技术,我们可以通过复杂计算解决这些问题,也可以通过非标屏幕编码类技术解决,但是实际上我们很难把这些技术进行非常广泛的利用。

最根本的原因是我们会发现端侧能力是有限制的,大家的手机各不相同,有可能有些人的手机特别好,可以做复杂算法,有些人手机差,无法进行复杂算法,同时,端的碎片化比较严重,要对所有端适配是比较困难的。

在应用上我们希望能够提供更有趣的交互,比如说实时生成卡通人物形象,这在端上可以运行,但是只有少数非常强大的设备才能运行。

一个自然的想法是,我们是不是能突破当前的应用架构?

我们把一个完全依赖端能力的架构,逐步转变成依靠云和端一起配合进行视频传输处理的架构,基于这个想法我们提出了云处理 + 端渲染技术,目的是希望从云上提供强大的处理能力,端上负责渲染,只需要提供很少的处理能力就能完成比较好的处理效果,使大家在不同的手机上都能得到一样的体验。

image.png

这就是视频云“零处理” 解决方案的基本架构图,在端上只需要进行比较简单的视频采集以及视频传输,然后通过我们构建的覆盖全球的 GRTN 网络到达云端,云端使用 GRTP 的云端实时处理引擎对视频进行处理,再把处理好的视频传到端上,端上只需要做简单的呈现。这样可以很好的解决刚才提到端计算能力不够和碎片化的问题。

但是天下没有免费的午餐,采用上面的架构,很容易发现几个问题。

第一,我们的云上是不是能承受这么大规模的处理。

第二,云上能不能承担这么大规模的成本。

第三,云上能不能持续提供这么多类型的处理服务。

我们自己的信心来自于几个方面。

第一,通过阿里多年的积累,我们积累了业界最大规模的云上视频处理集群,所以我们在技术上已经具备承担超大规模处理的能力。

image.png

第二,关于成本。

下图是我们处理的一张业务图的示例图,横坐标是时间,纵坐标是资源使用量,黑色的线一种业务,红色线是另一种业务,可以看到,每种业务都存在大量的业务空闲期,业务空闲期可以让我们有大量资源供我们复用,当我们把多种业务混跑时,就能把资源利用起来,大幅度降低成本。

除了在时间上的混跑,我们也可以通过空间上的混跑和异构的混跑,将整体的成本降下来。

image.png

第三,由于我们背靠阿里集团,包括我们自己也有很多视频算法处理积累,所以我们有机会持续不断的提供丰富的算法和处理能力。

image.png

三、“零处理” 实践分享

接下来是阿里云视频云在零处理的实践。

image.png

第一个场景是使用 MCU 解放端侧算力。

通常情况下,我们做 RTC 直播时,观众看到的直播画面是通过 RTMP 协议来完成的,这种情况下由于延迟的原因观众是无法参与到直播互动的。要增强观众的互动性,需要大家都加入 RTC 网络,每个端订阅多个流对端的算力和网络流量都是非常大的负担。

我们通过云端的 MCU 把流合并,重新进入到 RTC 会议里,这样观众可以通过 RTC 方式看到直播流,非常方便进行互动,同时也无需消耗过多的端上资源。这种模式我们称为互动低延时模式,已经是我们一个成熟的产品能力。

image.png

第二个场景,云转推。

这是一个我们打通阿里内部服务能力的例子,我们通过和阿里集团安全部的合作,将 RTC 的流通过内网和安全部的产品打通,减少了中间环节,实现低成本、低延迟的内容审核。

image.png

第三个场景,云特效。

相信这个场景大家已经看过,利用云端的处理,我们实现了虚拟会议室,通过云端的 MCU 将所有人进行抠图 + 贴图,来提升视频会议时的参会体验,这是阿里内部开会时已经可以运用到、并看到的技术。

上面展示的实时虚拟形象,是依托 GRTN 实时传输网络,将视频流传输到云端,云端对视频进行抠图,变声,卡通化等复杂的 AI 处理,终端只负责展示,从而实现了端侧零处理。

“零处理“作为下一代实时交互解决方案,在云厂商中率先推出,解决了新交互时代因端侧算力受限而无法实现的虚拟交互场景难题,充分利用云端一体的超精细算力,以云特效构建实时虚拟场景,是全面打开沉浸交互新世界的一项重要演进。

AliRTC 系列内容

阿里云 RTC QoS 屏幕共享弱网优化之若干编码器相关优化

阿里云 RTC QoS 弱网对抗之变分辨率编码

阿里云 RTC QoS 弱网对抗之 LTR 及其硬件解码支持


扫码入群和作者一起探讨音视频技术
获取更多视频云行业最新信息👇

image.png

「视频云技术」你最值得关注的音视频技术公众号,每周推送来自阿里云一线的实践技术文章,在这里与音视频领域一流工程师交流切磋。公众号后台回复【技术】可加入阿里云视频云产品技术交流群,和业内大咖一起探讨音视频技术,获取更多行业最新信息。
相关文章
|
测试技术 算法 Android开发
干货分享:Totoro 在自动化测试领域的深耕与收获
Totoro经历了从 0 到 1,从 1 到 2,并逐步演进为阿里集团内使用面最广、性能最为稳定的自动化测试框架之一。本文将围绕 Totoro 一路踩坑、迭代完善成熟的过程,从沉淀总结的一些方法论和解决方案展开分享。
5128 0
干货分享:Totoro 在自动化测试领域的深耕与收获
|
存储 搜索推荐
Map根据键、值进行排序
在参加农行软开笔试时,最后一道编程题需要将Map中的数据按照值排序··· ···
|
Serverless 对象存储
开发函数计算的正确姿势 —— 使用 ROS 进行资源编排
前言 首先介绍下在本文出现的几个比较重要的概念: 函数计算(Function Compute): 函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传。函数计算准备计算资源,并以弹性伸缩的方式运行用户代码,而用户只需根据实际代码运行所消耗的资源进行付费。
16529 155
|
资源调度 Kubernetes Cloud Native
从零开始入门 K8s | Kubernetes 调度和资源管理
本文简单介绍了一下调度的高级策略,在集群资源紧张的时候也能合理调度资源。
从零开始入门 K8s | Kubernetes 调度和资源管理
|
机器学习/深度学习 数据采集 并行计算
【图像分类】——来来来,干了这碗EfficientNet实战(Pytorch)
【图像分类】——来来来,干了这碗EfficientNet实战(Pytorch)
1416 0
【图像分类】——来来来,干了这碗EfficientNet实战(Pytorch)
|
IDE 中间件 API
Lua IDE - IntelliJ IDEA+EmmyLua插件(2)
Lua IDE - IntelliJ IDEA+EmmyLua插件
670 0
Lua IDE - IntelliJ IDEA+EmmyLua插件(2)
|
开发者
开发者训练营邀你参加,钉钉专属徽章等你来拿!
首期开发者训练营报名啦!帮助新手开发者快速上手钉钉应用开发!幸运儿将有机会获得钉钉徽章!
687 0
开发者训练营邀你参加,钉钉专属徽章等你来拿!
|
存储 算法 JavaScript
深入探究immutable.js的实现机制(二)
深入探究immutable.js的实现机制(一) 深入探究immutable.js的实现机制(二)  本篇   上一篇研究了 Immutable.js 持久化数据结构的基本实现原理,对其核心数据结构Vector Trie进行了介绍,并着重探究了其中的位分区机制。采用位分区的根本原因是为了优化速度,而对于空间的优化, Immutable.js 是怎么做的呢?接下来先探讨
585 0
深入探究immutable.js的实现机制(二)
|
人工智能 安全 JavaScript
汇总!如何高效利用阿里巴巴的“战疫情”方案与工具包
越来越多的阿里人行动起来,专项基金、远程办公方案、开发者工具等不断帮助更多企业和个人,争分夺秒,与时间赛跑,用技术提升效率,减少更多的损失。
4329 0
汇总!如何高效利用阿里巴巴的“战疫情”方案与工具包
|
Kubernetes Linux 5G
10分钟看懂Docker和K8S
核心网工程师,10分钟成功转型
8818 0
10分钟看懂Docker和K8S

热门文章

最新文章