0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

关于RTC的六个问题

LiveVideoStack 来源:LiveVideoStack 作者:LiveVideoStack 2020-12-07 14:02 次阅读

RTC本质上是一个时延、流畅、质量、成本等几个点的平衡,我们不能在某些单点上用力过猛,导致最终的效果大打折扣。拍乐云CEO 赵加雨在LiveVideoStackCon 2020北京站的演讲中抛出关于RTC的六个问题,同时站在辩论的正反方与大家拆解如何能够让RTC产品给用户带来更好的体验。

大家好,我是来自拍乐云的赵加雨。首先做个简单的自我介绍,我2003年加入WebEx,在WebEx工作了14年,前面几年是在国内工作,后面几年在美国。在美国工作几年之后,发觉中国的环境也不错,于是在2017年回国加入了网易,任网易云信CTO,直到去年创立了拍乐云。大家可以看到,虽然我现在的头衔是CEO,但我过去的经历一直都是在做技术,现在在公司里和小伙伴们也会经常讨论技术,对技术也一直保留着很多热情。

本次分享是和我一直以来的工作经历和背景有关的视频会议,即RTC(Real time communication)相关的一个主题。今天这个题目还是挺特殊的,不知道大家有没有人喜欢看奇葩说,其实奇葩说里很多时候都是观点的碰撞,没有绝对的对或是错,但是通过辩论这样的方法,大家会得出自己的一个结论和输出,我觉得还是非常有意思的,今天演讲的题目也是借鉴了奇葩说。

RTC中涉及的点很多,如果很仔细地分享要花很多时间。那我今天想抛出6个问题来为大家拆解,我既当正方的辩手,也担当反方的辩手。通过拆解这6个问题,和大家做一个简单的分享。

最近几年,因为千播大战,包括线上业务的火热,很多公司开始进入RTC领域,这些公司对RTC技术有着各种各样的认知。采用的技术方案也有一些不同,在这里我列出了6个问题来和大家一起探讨。

1200个节点 VS 十几个节点

第一个问题是关于网络节点问题。正方是200个节点,反方是10几个节点。大家认为哪种方法能够提供更好的服务呢?这是非常符合常识的一个认知,大家会觉得200个节点应该能够提供更好的服务。

WebEx:12 Data Centers

Zoom:18 Data Centers

实际来看,现在最火的视频会议公司就是Zoom了。当然在Zoom之前其实还有WebEx,即使现在它的市场占有率已经被Zoom超越,但WebEx现在每个月视频会议的分钟数仍有百亿分钟。所以说WebEx和Zoom都是服务于全球的视频会议公司,差不多覆盖200多个国家和地区,大家可以看到他们的数据中心,在网上有公开数据可以查到。WebEx在全球有12个数据中心,Zoom在全球是18个数据中心。这个有点反常识对吧。那按照道理,200多个节点应该能够提供更好的一个服务,那为什么WebEx和Zoom他们都只有十几个数据中心呢,这是怎么回事?是WebEx和Zoom他们没有钱吗?那肯定不是。Zoom现在是市值1500亿美金的公司了,WebEx现在属于思科,思科也是市值1600亿美金的公司。那这个问题就一定不是由于成本的原因。

因为这两家视频会议的领导者,他们自己在提供视频会议这个服务的过程当中,这是他们总结出来的最高效的方案。通过十几个数据中心和网络层的基建,可以给用户提供非常好的全球网络覆盖。这是这两家视频会议的领导者,做出来的技术上的最优选择。

那为什么会有一些厂商会说他们有200多个节点,甚至有的会说自己有300多个节点,那为什么他们会选择部署这么多的节点呢?可能的一个原因就是大家的技术方案、技术选型是不一样的。

很多RTC厂商的网络分发参考了CDN技术,CDN的做法是通过小城市的边缘机房来做客户的接入,再通过向中心机房的汇聚来实现跨网的问题。我们知道CDN服务于文件下载、视频点播和直播这样的应用,这些都是时延不那么敏感的,分发路径上经过了多个节点所带来的时延损耗并不会影响用户体验,CDN技术是一种低成本的用于大规模数据分发的技术方案。这样的分发方式对于RTC未必是最优选择。

要构建一张全球音视频分发大网,问题的关键其实不在于多少个节点,多并不等于好,关键在于是否解决了音视频全球分发的这些问题:各国出口带宽受限问题、防火墙问题,各个运营商互联互通问题,网络路由变化导致的Jitter问题,链路的灵活调度,等等。

2时延越低越好吗?

第二个问题,时延越低就越好吗?那这个问题的答案似乎也是显而易见的,我们在做RTC的应用时肯定是希望时延越低越好的。但是这其中存在着一个误区,如果我们单纯强调时延,其实可能会导致技术方案变形。我们在做RTC的应用时知道,如果时延超过400毫秒,用户在通话的过程中就会有感知。因此要保证时延低于400毫秒,最好是在200毫秒以内,这样整体效果会比较好。但是如果说150毫秒跟120毫秒有没有太多区别?从用户体验角度来说可能并没有太大的区别。

凡事皆有正反面,在音视频应用里为了保证流畅度,往往需要通过数据包缓冲区来抵抗丢包提升流畅,如果一味的追求低时延,而压缩数据包缓冲区大小,很可能会导致更容易出现卡顿。因此,追求低时延是合理的,但是不应该通过牺牲流畅来过分追求低时延。当然,有些场景确实需要更低的时延才能保证用户体验,譬如线上合唱,此时追求极致的低时延是合理的。

3数据白板 VS 视频白板

第三个点,大家在做白板的过程中,我们实现白板有两种方式,一种是数据白板,一种是视频白板。大家如果有用过视频会议软件的话,多数视频会议软件是用视频白板的方式在做。当然视频白板和数据白板这两种做法其实各有优劣,从技术角度来说,视频白板和共享是类似的技术,通过一个方案来解决了共享和白板的问题,这样技术的包袱会更轻,维护的成本也会更低一些。但是我们假设在某些对于白板有强需求的这些场景,包括教育这个场景,可能视频白板的体验就没办法做到非常好。

其实很多时候数据白板可能是一个更好的解决方法,数据白板带来的好处也是显而易见的。白板本质上其实是一个多人的轨迹同步,它是多人的消息的同步,再加上客户端的绘制。如果通过数据白板的方式来做的话,可以实现更少的数据量,占用的带宽也会更少,这样的话就可以保证自己更不容易卡顿,另外也可以把更多的带宽留给音视频。因为我们在做白板的时候,同时可能也会有音视频的通讯。

另外,数据白板的呈现会非常高清。因为是矢量数据,所以说不管是很小的一个窗口,还是很大的窗口,即使缩放到很大,白板的清晰度还是非常好。所以在具体的实现过程当中,从用户体验的角度我们认为数据白板可能是一个更好的实现方式。

41080P比720P体验更好吗?

第四个问题,1080P可以提供比720P更好的体验吗?这个听上去似乎也是显而易见的,1080P分辨率更高,当然比720P体验更好了。但是在RTC场景下,答案可能并没有那么显而易见。

首先要解释一下,视频分辨率并不等于清晰度,视频清晰度取决于分辨率、码率、帧率等,三者对清晰度的影响大致可以参考公式Bits/(Pixel*Frame),简单点说,相同码率下,分辨率越高清晰度越低,分辨率越低清晰度越高。当然实际情况稍微复杂一点,在码率一定的情况下,分辨率在一定范围内取值都将是清晰的;同样地,在分辨率一定的情况下,码率在一定范围内取值都将是清晰的。因此,如果码率不够,1080P的清晰度很可能比720P更差。

其次,对于目前的移动互联网应用来说,手机端的屏幕尺寸有限,多数情况下360P就够了,一般来说720P足够了,完全不需要1080P。

我们在做视频会议应用时,有一个原则叫够用就好,当手机只需要720P的视频时,如果我们发送1080P的视频,需要的码率更大,此时并不能带来更高清的体验,反而会带来副作用,因为更高的码率会更容易出现卡顿,也更加消耗手机CPU。同理,如果180P就可以满足需要,我们就应该发送180P的视频,而不是720P的视频。

我们借鉴视频会议经验支持了视频大小流,客户端可以按需选择大流或者小流,在同一个会议里,也支持部分人选择大流部分人选择小流,保证最优的视频体验。

5AVC VS SVC

第五点是AVC vs SVC。我们现在主流使用的视频标准其实还是H264。在H264里面分为两种,一种就是AVC,另外一个是SVC。大家知道SVC是分层编码,它可以提供时域、空域、质量域的分层,听起来是非常好的编码手段,因为通过分层,如果带宽很好或者端的设备很好,可以首先接收base layer,接收到base layer之后,可以再接收上面的一些增强的layer。而通过增强的layer就可以实现更高清的画质或者更高的帧率。这样对于视频的分发来说,你的手段就会更多。如果接收端的带宽受限或者接收端的设备本身性能很差,那这个时候可能只要选择接受base layer就可以了,这样可以保证一个比较流畅的视频体验。从技术角度来说,SVC好像是比AVC更先进的技术,但是实际上我们在选择的过程当中,这里没有标准的答案,只是我们在选择时需要慎重。

比如选择AVC,就要知道AVC的优缺点;选择SVC,就要知道SVC的优缺点。SVC从技术角度来说更先进,可以帮助我们实现更好的视频的分发。但是SVC带来的一个副作用就是在编码的时候占用的资源会更多,可能会更耗电或者某些设备支撑起来可能CPU消耗会更高。所以这两个选择没有对错,可能要在对应的场景根据需要去选择。

6H265 VS H264

第六个点跟技术不那么相关了,只是和大家做一个简单的分享。我们知道最近H266也已经定稿了,关于H265,从视频标准角度来说领先了H264一代,是更好的视频标准。但是实际上现在H265涉及专利问题。H265现在已知的就有三个专利池,而且还有一些专利的拥有者,他们是不在这三个专利池里面的。所以采用H265会面临专利问题。如果你们的业务在发展壮大的过程中,将来真的能够做大或者做到国际化的话,可能就会面临专利的风险。如果你做的很好,做到像Zoom一样的全球化大公司,那就更不应该采用H265,因为这里面有很多专利的坑。

H266在试图解决这些问题,它在定标准和选择工具的时候,也都跟对应的专利拥有者做了沟通,试图解决这样的问题。所以我们也期待H266能够把专利问题解决好,因为H264毕竟是在2003年就已经定稿的标准,经过这么多年的发展,其实H264在很多方面,比如更大的分辨率、视频的压缩方面已经需要被改进了,希望新一代的视频标准,譬如H266、AV1等,能在提供更好视频压缩的情况下也能解决好专利问题。

RTC是时延、流畅、质量、成本等的平衡

因为RTC的应用涉及到的点会比较多,我们刚才通过6个点的分享,大家可以看到RTC本质上是一个时延、流畅、质量、成本几个点的平衡,没有一个银弹能够解决所有的问题。RTC应用本质上就是在一个受限的环境下,去平衡各种选择并尽量呈现最好的音视频体验给到用户。

在所有这些受限的资源里面,我们既想保证时延,又想给用户非常流畅的体验,同时也希望能够尽量让客户看到更好的视频、音频质量,最终还要需要兼顾成本,否则这样的商业模型也不成立。所以我们需要在这些关键点里做平衡,同时在这些受限的资源里面,我们希望找到最低的时延,最流畅的音视频和最高的画质,以及最低的成本,这里其实就是在做各个维度的选择。我们在做RTC应用的时候,不应该一味地追求一些点,不应该在某些单点上用力过猛,导致最终的效果会打很多折扣。

其实大家可以思考一下Zoom,Zoom现在是非常炙手可热的一个公司。他的产品大家可以去体验一下,Zoom从来不会宣传自己的时延很低,也不会宣传自己的画质非常高,但是最终呈现给用户的体验是非常好的。去年我们创立拍乐云也是出于一样的思考,我们觉得,RTC涉及到的点很多,包括算法、工程、网络等等,客户仍然需要一个90分以上的RTC产品,作为一群视频会议的老兵,我们希望将最好的视频会议技术封装成简单易集成的SDK给到客户,这也是我自己做了快20年的技术,然后转过头来创立拍乐云这样一个公司的原因。

责任编辑:lq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 视频
    +关注

    关注

    6

    文章

    1942

    浏览量

    72884
  • 数据中心
    +关注

    关注

    16

    文章

    4761

    浏览量

    72033
  • RTC
    RTC
    +关注

    关注

    2

    文章

    538

    浏览量

    66460

原文标题:奇葩说之RTC的那些事

文章出处:【微信号:livevideostack,微信公众号:LiveVideoStack】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    RTC与WebRTC的主要区别

    在数字通信领域,实时通信(RTC)和WebRTC是两经常被提及的术语。它们都旨在提供即时的、高质量的通信体验,但它们在实现方式、应用场景和技术支持上有所不同。 1. 定义与起源 1.1 实时通信
    的头像 发表于 12-11 15:41 250次阅读

    分力传感器的核心工作原理及其在各个领域的应用

    分力传感器也被称为轴力传感器、维力扭矩传感器或FT传感器,是一种能够在六个方向上同时测量力和扭矩的先进设备。
    的头像 发表于 11-22 13:56 188次阅读
    <b class='flag-5'>六</b>分力传感器的核心工作原理及其在各个领域的应用

    焊接机器人六个轴分别是什么作用

    焊接机器人是现代工业自动化中的重要工具,其灵活性和高效性极大地提升了焊接质量和生产效率。在焊接机器人中,“轴”是一常见的结构设计,这六个轴赋予机器人类似于人类手臂的灵活性,能够完成复杂的焊接
    的头像 发表于 11-21 17:45 175次阅读
    焊接机器人<b class='flag-5'>六个</b>轴分别是什么作用

    中央空管委将在地试点eVTOL

    据媒体报道,中央空管委即将在六个城市开展eVTOL的试点;有幸进入试点的城市有深圳、苏州、成都、重庆、合肥、杭州。 这六个城市的朋友有福了,或者可以很方便快捷的打飞的了。  
    的头像 发表于 11-19 17:21 677次阅读

    无刷直流电机控制器六个功率管如何控制120度和60度的?

    无刷直流电机(BLDC)控制器中的六个功率管在控制120度和60度换相时,扮演着至关重要的角色。这两种控制方式主要区别在于换相时功率管的开关序列和时序,以及它们如何与霍尔传感器的输出信号相配合。以下
    的头像 发表于 09-03 10:32 960次阅读

    什么是RTC模块?

    什么是“RTC”?“RTC”是实时时钟的缩写,它是一种测量时间的电子设备。什么是“RTC模块”?“RTC模块”是一集成了RTCIC、振荡器
    的头像 发表于 07-24 14:14 402次阅读
    什么是<b class='flag-5'>RTC</b>模块?

    如何创建具有不同占空比(但相同起始相位)的一或多个额外的PWM输出?

    我实际上只需要一PWM(一频率),但有五甚至六个输出,具有六个不同的占空比。 是否有关于P
    发表于 07-08 07:09

    如果有六个独立的PWM通道都需要测量ADC,是不是单片的STM32H7不够用?

    大家好, STM32H7 系列中 由三ADC, 每个ADC的转换可以由 PWM Timer 触发转换。我的问题是,如果有六个独立的PWM 通道都需要 测量ADC,是不是单片的 STM32H7 不够用 (我的理解是,单个ADC只能设置一
    发表于 04-18 07:49

    具有六个200mA通道的TPS92391升压/SEPIC 高调光性能LED驱动器数据表

    电子发烧友网站提供《具有六个200mA通道的TPS92391升压/SEPIC 高调光性能LED驱动器数据表.pdf》资料免费下载
    发表于 04-01 16:13 0次下载
    具有<b class='flag-5'>六个</b>200mA通道的TPS92391升压/SEPIC 高调光性能LED驱动器数据表

    RTC电池寿命的评估考虑因素

    本案例是一RTC功能的工业产品,RTC部分的供电电路如下下图,产品发往市场半年以后,就提示更换RTC电池,远远低于设计寿命5年。
    发表于 03-15 10:29 637次阅读
    <b class='flag-5'>RTC</b>电池寿命的评估考虑因素

    苹果股价连跌 苹果最新市值

    近期,苹果公司的股价走势引发了市场的广泛担忧。在短短六个交易日内,其市值惊人地蒸发了超过2000亿美元,这一数字令人咋舌。
    的头像 发表于 03-07 15:46 587次阅读

    求助,关于pSoC6 RTC实时时钟复位后的状态问题求解

    请教一关于rtc的问题。psoc6在有bootloader和app两程序的情况下。bootload没有对rtc进行初始化配置。app对于
    发表于 02-18 08:34

    求助,请教一关于RTC中断的问题

    是这样的,我的硬件是外部接了12M晶振,以及RTC时钟的两引脚接了32.768K的晶振,用官网的RTC例程测试,时钟和中断都可以。我用了我们之前新唐供应商给的库程序,时钟显示跟实际时间比较,显示
    发表于 01-16 07:37

    RTC第二功能和应用程序

    一般RTC模块设备管理时间日历、计时器等。从年到二。一些爱普生RTC模块可以通过使用来自32768 Hz的分割频率来管理次第二功能。本文件描述了RTC模块的三具体的应用程序。(表1)
    发表于 01-03 15:45 0次下载

    ADXL1001六个引脚,是VDD GND接电源,然后ST STB也要接地Vout才会有正确的输出结果?

    这个评估版共六个引脚,是VDD GND接电源,然后ST STB也要接地,Vout才会有正确的输出结果吗
    发表于 12-28 08:10