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

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

3天内不再提示

华为云如何使用一套系统解决低时延传输等相关问题?

LiveVideoStack 来源:LiveVideoStack 作者:武杰 2021-02-11 10:39 次阅读

本文整理自华为云视频云架构师武杰线上分享的演讲,他详细介绍华为云从直播到实时音视频的网络架构演进、低时延传输技术,分享华为云实时音视频的应用场景实践。实时音视频业务将逐步成为云基础设施,使能千行百业。面对直播,实时音视频爆发式增长,华为云如何使用一套系统解决直播,实时音视频业务融合以及低时延传输等相关问题?

大家好,我叫武杰,是华为云视频云架构师。从2006年开始参加工作,曾在通信行业负责IMS核心网业务系统产品研发。曾主管直播CDN、弹性转码系统架构、研发和运维。2019年加入华为,曾负责华为云直播服务,实时音视频服务产品规划和架构,现负责华为云视频云服务整体技术架构和可靠性设计工作。有着10年以上大规模分布式系统研发、运维和架构经验,在CDN网络架构,音视频传输,拥塞控制,通信协议等领域与有着多年经验积累。 本次我分享主题是华为云RTC服务架构及应用实践。 1 对音视频技术发展的回顾和展望 1.1 视频业务走向实时互动,RTC成为视频基础能力

02097ffe-5c82-11eb-8b86-12bb97331649.png

从3G、4G一直到5G,随着网络的发展,网络技术不断跃迁,这也带来了更快的传输速率、更低的延迟和更低的成本。从最原始的IM到点播+评论,再到直播+弹幕。我们预测未来随着5G的发展,网络会带来更低的时延,如云渲染、虚拟空间码率的业务以及AIIoT业务会随着网络技术的演进逐步成熟。 1.2 实时音视频RTC应用场景将继续深化

02d65c0e-5c82-11eb-8b86-12bb97331649.png

从4G到5G技术的迭代,我们看到整个RTC从普通的娱乐视频、教育视频,到结合行业逐步适配更广泛的应用,例如智慧办公、应急指挥、远程医疗等。未来随着万物互联的时代到来,实时音视频业务会继续深入,连接物与物、人与物,成为实时交互的连接网络,如智能家庭终端、智能汽车、智能手表等音视频交互、操控。现在音视频还处于井喷的起始阶段,未来人与物、物与物的协作还将继续爆发,并且和生活密切相关。 2 传 统 直 播 2.1 传统直播架构——时延和卡顿二选一

0438e12a-5c82-11eb-8b86-12bb97331649.png

上图的系统架构是直播系统比较通用的架构,一般分为3层架构,分别是单线的CDN边缘、多线的CDN中心和承载一些增值服务的源站。从这个架构中可以看出以下问题:

上、下行流均需要通过两层网络到直播源站,并在直播源站关联汇聚,成本较高;

属于静态路由规划,无法保证端到端最优路径,质量优化空间有限;

全链路TCP,特别是第一公里和最后一公里不确定网络条件,一旦产生丢包,质量迅速下降。

所以在整个直播过程中,CDN会给3-5s左右的时延,让终端有buffer抗抖动。这里的痛点是时延和卡顿,这是需要进行二选一的过程,如果要追求较低的卡顿率,时延就需要加大。现在的一些超低时延直播引入了WebRTC技术或者用SRT、QUIC解决第一公里或最后一公里的问题,这样做能带来一些好处,但它的时延最多只能做到1s左右。 2.2 割裂的网络

04d27c7c-5c82-11eb-8b86-12bb97331649.png

随着直播业务不断地发展,直播的交互性从2016年主播和观众通过文字或弹幕交互,逐步演进成实时连麦的交互,整个RTC最初比较火的业务也是连麦——主播在上播过程中可以申请权限与主播连麦,分享至很多人。对于一些直播平台,它们需要对接两套系统——实时音视频系统与直播系统。当主播开始连麦时,从直播系统切至实时音视频系统,主播与观众间有几百毫秒的时延,对于普通观众在合流块引入1到2s的延时,直播块引入3-5s的延时,整个时延变得非常大。而当观众退麦时,他会在直播中看到几秒前的自己,对于这种传统直播的实现方式是割裂的网络。 3 华为云RTC

3.1 RTC原生架构

0595ca6a-5c82-11eb-8b86-12bb97331649.png

华为RTC云的理念是打造统一资源架构和技术架构以支持当前直播+RTC场景,华为云希望将多个网络变成统一网络、多个系统变成统一系统、SDK尽量做到统一去解决交互和直播的融合场景,实现会议、直播、连麦以及后续其他继续深入的场景支撑。 3.2 华为云RTC整体架构 华为云RTC基于华为云构建,在整个环境中分为5层架构:

最上层是Global区,承载了数据、内容管理、调度等相关的能力;

Region区,部署在广州、北京、上海,配置的是RTC的增值能力,例如截图、审核、转码、RTR等;

中心与边缘位于华为云整个CDN节点上,有相应与RTC配套的服务,包括转码、实时渲染等;

最下层为用户层。我将在下文针对以上内容做详细说明。

3.3 实时音视频分发网络

从结构来看,华为云RTC不再是树状架构,通过调度和内部路径选优的方式尽量找到主播和普通观众之间的最短路径,可能会将观众与主播调至同一节点、或进行节点与节点之间的互通、又或者节点间通过中转接点互通,从而确保端到端路径最短、时延最优。这中间一旦出现问题,可以进行相应的中转节点或链路的调换。与此同时,部分增值业务节点可下沉到接入节点,支持超低时延(100ms) 转码,租户可按需合流。

3.4 实时音视频传输协议栈

华为实时音视频传输协议栈,以UDP和TCP网络以及华为自研的ADN——四层RPN的网络为传输层的基础,打造实时传输协议栈,在协议栈中支持HWRTC协议、WebRTC,用以上协议支持上层RTC业务、超低时延直播业务、标准直播业务,未来将整合GB28181扩展性摄像头相关的业务。

3.5 计算资源的边缘下层——边缘媒体+AI计算架构

边缘媒体+AI计算架构依托于华为云边缘节点,通过IEF对整个边缘节点找了边缘函数框架,在上方构建实施媒体+AI的能力。也就是说这里不仅具备编解码能力,还可以集成第三方EI的算法镜像。这种方法可以将端侧的美颜替换能力下放到云的边缘。

3.6 华为云RTC技术 智能编解码+网络自适应双轮驱动

在整个RTC过程中,从采集端到播放端的过程,第一步通过设备采集音视频,在编解码层采用智能编码技术,如SVC可伸缩分层编码,它包括时域和空域的编解码,时域是直播播放端降帧的能力,空域能把主播的流变成大小流,被叫端根据网络状况选择播高码率或是低码率的流,如此当被叫端网络不好时可以通过降码的方式达到播放流畅的效果。后续是通过实时超分和ROI优化对编解码方面做更低码率的压缩,得到更好的传输和低时延的效果。 第二步是智能调速,主要涉及网络层和编解码层的互动,通过网络层的网络探测和带宽预分析判断端侧的带宽,也就是传输的码率最大可以支持多少带宽。通过此种方式控制编码的码率,使得主播端能够有更好的流畅度。

最后一步是私有抗网损算法,采用FEC前向纠错算法、自动重传HARQ——华为自研的算法、接收端的AJB自适应抗抖动Buffer做一些网络重传的抗抖。以上算法相互配合,在保证直播流畅的情况下达到最低时延的效果。以上就是华为云RTC的智能编解码和网络自适应双轮驱动的内容。 语言增强技术+丢包补偿 华为云在语音方面的技术,主要分为语言增强技术和语音丢包补偿技术两大部分。 语音增强技术包括语音降噪、回声消除。降噪主要采取AI降噪与传统降噪结合的方式。现如今存在很多不同的场景需要降噪的适配,例如主播场景要求背景音清晰、教育场景需要降背景音,还有一些敲键盘或相应声音去除等不同场景适配。回音消除指单向通话时因为回音消除不完全产生回声,另外在交互过程中,不会产生双讲或丢字。我们通过Mos值评分确定语音效果。 语音丢包补偿技术应用于当前网络产生丢包的情况,如上图所示,产生丢包时,中间信号是空的,如果完全依赖于重传,时延不能达到很好的效果,这部分会采用一些传统与AI结合的方式将丢的包补齐,从而达到语音流畅的效果。上图是在不同丢包率下做到的音频Mos值,音频的核心竞争力是高音质——比较主流的是48k赫兹Mos值达到4.0以上、低延时——延时要达到小于300ms、回音消除——不漏回声,双讲不去字。以上就是语音增强方面相关技术介绍。

4 实时音视频RTC体验优化

4.1 监控QoE/QoS全局实时监控 在成千上万的流量中,如何保证系统能够及时发现问题呢?我们通过服务端和客户端的埋点采集,对整个全网的节点进行监控——包括全网维度、APP维度、Room维度、节点维度等。根据不同的监控数据,通过数据聚合的方式发现网络层面、客户端层面出现的问题,通过以上这些数据,运维可以及时发现链路中的问题并着手解决。

4.2 一键式用户个例通话QoS行为调查能力 当接到客户说某个用户有卡顿时,判断的方法是一键式用户个例通话QoS行为调查能力。首先通过房间维度的监控进到用户维度监控,再通过用户数据的帧率、码率、时延、抖动、丢包率判断网络状况,如发现与设备终端有关联,比如用户终端CPU跑高或内存跑高,是由于用户其他应用开启造成的问题,需要定位具体原因;如果是用户操作行为导致的问题,例如做了关麦的操作却反馈“没有声音”,可以通过用户操作行为事件判断用户在使用过程中产生的相应问题。

4.3 实时音视频体验自动诊断 对于单用户的分析我们还做了相应的自我诊断功能。根据关键指标的监控,通过监控模型分析是否有聚集性的问题,比如CPU高或某一区域、节点有问题,在得到这些异常事件后,用它来分析用户端可能会发生的一些问题,比如进房满、视频音频卡顿等。另外可以反馈至运维,判断聚集性问题和网络端出现的问题,通过切换节点、链路等方式解决网络侧问题。以上是整个运维监控系统的内容。

5 实时音视频主打场景

5.1 企业会议:直播互动视频会议,涵盖内外沟通场景,适应业务发展需求 RTC技术和华为云会议系统进行对接,最终目标是打造千人会议,可以让会场支持千人级互动与万人级观众参与,让观众和发言者可以进行自由切换,同时支持云端低于100ms超低时延合流,降低纯观众播放的带宽和成本。

5.2 在线教育:学生随时举手上台,支持子母课,万人大课堂 在教育模块我们经过深入研究,发现传统的在线教育是老师在上面讲课,许多学生听老师讲课,学生可以通过举手的方式上台与老师互动,但很多情况是老师会将学生分组,组内可以进行交流互动,再将互动结果分享。在教育方面我们做了更多的适配场景,可以让多个终端加入同个会场、同个子母课的方式去支持教育行业应用。通过上述方式,观看端学生与老师之间的互动时延均低于300ms,学生切换流畅,并不像传统连麦中学生互动结束后可以听到几秒前与老师的互动。

5.3 电商直播:面对面的沟通体验,提升转换率 传统的电商直播受限于原有网络问题,观众只能通过弹幕的方式和主播进行交流,导致转化率比较低,而传统的连麦架构会导致从互动切换到直播的过程,时延变大,会看到几秒前的自己,用户体验度很差,此外买家与卖家互动是单向的,只能通过文字沟通。通过实时音视频的引入,保证了互动端和观众端时延在300ms以内,整个过程中,观众可以随时切麦和主播进行互动,做到全场景低时延,从而提高电商直播场景中转化率。

原文标题:华为云RTC服务架构及应用实践

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

责任编辑:haq

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

    关注

    6

    文章

    1947

    浏览量

    72942
  • 华为
    +关注

    关注

    216

    文章

    34470

    浏览量

    251953

原文标题:华为云RTC服务架构及应用实践

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

收藏 人收藏

    评论

    相关推荐

    Vector推出一套基于Visual Studio Code的免费插件

    编写工具(如Vector的CAPL Browser)虽然功能强大,但是结合Visual Studio Code更能够满足多语言编程和集成现代开发工具的需求。 因此,Vector推出一套基于Visual
    的头像 发表于 11-24 14:15 428次阅读
    Vector推出<b class='flag-5'>一套</b>基于Visual Studio Code的免费插件

    【BearPi-Pico H3863星闪开发板体验连载】星闪超低功耗SLE透传功能测试

    。 随着华为企业在鸿蒙系统上引入星闪技术,星闪联盟日益壮大。标志着这技术正式步入商用的快车道。预计到2025年,星闪3.0将实现全场景物联网连接,构建代
    发表于 10-25 22:23

    一套电源ATE自动测试系统如何完成多型号电源模块测试?

    在使用NSAT-8000电源ATE测试系统后,鉴于不同型号的VPX电源生产工艺、参数有所不同,工程师可根据电源型号搭建相应的测试项目和方案,一套系统便完成了该公司多型号的电源模块测试,减少了测试成本。
    的头像 发表于 09-18 18:20 257次阅读
    <b class='flag-5'>一套</b>电源ATE自动测试<b class='flag-5'>系统</b>如何完成多型号电源模块测试?

    如何设计出一套用于移动式综合监测站管理的软件系统

    如何设计出一套用于移动式综合监测站管理的软件系统 要设计并实现一套系统,用于管理移动式综合监测站,并具备绘制其动态位置变化图和部署时间分布图的功能,我们需要从
    的头像 发表于 09-10 18:15 216次阅读

    库室联管联控系统DW-S306|是一套智能化系统

    装备库室联管联控系统,形成一套上下统、功能完善的管理体系,建设个功能完善、运转有效、规范有序为目标,实现可视化监管、数字化军械管理、安全监管于
    的头像 发表于 08-17 16:20 189次阅读
    库室联管联控<b class='flag-5'>系统</b>DW-S306|是<b class='flag-5'>一套</b>智能化<b class='flag-5'>系统</b>

    saas模式的一套智慧工地平台源码,支持多端展示:PC端、大屏端、手机端、平板端

    基于微服务架构+Java+Spring Cloud +UniApp +MySql技术开发saas模式的一套智慧工地平台源码,支持多端展示:PC端、大屏端、手机端、平板端。 智慧工地平台支持项目级
    的头像 发表于 08-06 16:41 364次阅读
    saas模式的<b class='flag-5'>一套</b>智慧工地<b class='flag-5'>云</b>平台源码,支持多端展示:PC端、大屏端、手机端、平板端

    如何用java语言开发一套数字化产科系统  数字化产科管理平台源码

    如何用java语言开发一套数字化产科系统 数字化产科管理平台源码
    的头像 发表于 07-06 09:38 1023次阅读
    如何用java语言开发<b class='flag-5'>一套</b>数字化产科<b class='flag-5'>系统</b>  数字化产科管理平台源码

    一套java+ spring boot与 vue+ mysql技术开发的UWB高精度工厂人员定位全套系统源码有应用案例

    UWB (ULTRA WIDE BAND, UWB) 技术是种无线载波通讯技术,它不采用正弦载波,而是利用纳秒级的非正弦波窄脉冲传输数据,因此其所占的频谱范围很宽。一套UWB精确定位系统
    的头像 发表于 07-03 14:18 568次阅读
    <b class='flag-5'>一套</b>java+ spring boot与 vue+ mysql技术开发的UWB高精度工厂人员定位全套<b class='flag-5'>系统</b>源码有应用案例

    在不同的电脑上启动同一套代码时,出现编译路径错误的提示怎么解决?

    不同的电脑上安装esp-idf的路径不同时,启动同一套代码时会出现: 无法找到“D:\\Espressif\\tools\\xtensa-esp32-elf\\esp-2022r1-11.2.0
    发表于 06-11 06:54

    一套java+ spring boot+与vue+ mysql技术开发的UWB高精度工厂人员定位全套系统源码

    UWB (ULTRA WIDE BAND, UWB) 技术是种无线载波通讯技术,它不采用正弦载波,而是利用纳秒级的非正弦波窄脉冲传输数据,因此其所占的频谱范围很宽。一套UWB精确定位系统
    的头像 发表于 06-10 18:11 757次阅读
    <b class='flag-5'>一套</b>java+ spring boot+与vue+ mysql技术开发的UWB高精度工厂人员定位全套<b class='flag-5'>系统</b>源码

    HarmonyOS实战开发-如何实现音频录制和播放,AudioVivid音乐播放的相关功能

    介绍 本示例主要展示了音频录制和播放,AudioVivid音乐播放的相关功能: 录制。
    发表于 05-11 20:26

    ICON发布一套新型建筑3D打印硬件、软件和材料

    2024年3月,先进建筑公司ICON 发布了一套可实现建筑自动化的新产品和技术,包括能够实现多层建筑的全新机器人打印机、新型碳建筑材料、包含 60 多种现成住宅设计的住宅建筑数字目录,以及用于住宅设计和施工的 AI 建筑师。
    的头像 发表于 04-07 18:27 1159次阅读

    库室装备管理系统|智装备DW-S301系统一套成熟系统

    系统概述 部队库室装备管理系统(智装备DW-S301)是一套成熟系统,依托互3D技术、计算
    的头像 发表于 02-02 10:42 546次阅读
    库室装备管理<b class='flag-5'>系统</b>|智装备DW-S301<b class='flag-5'>系统</b>是<b class='flag-5'>一套</b>成熟<b class='flag-5'>系统</b>

    国产技术创新与实践分享|2024技术创新实践论坛精彩回顾来啦!

    1月19日下午,由中科驭数主办的第二届证券基金行业先进计算技术大会暨2024技术创新实践论坛(上海站)圆满落幕。本次论坛得到了中国计算机学会集成电路设计专委、中国电子工业标准化技术协会新
    的头像 发表于 01-20 11:40 1296次阅读

    【飞腾派4G版免费试用】为欧拉系统安装可视化界面(deepin)

    、AArch64、ARM32,满足不同硬件平台的需求。 3.欧拉系统拥有活跃的开源社区,提供丰富的软件包和技术支持,方便用户下载、安装和使用。 4.欧拉系统华为
    发表于 01-05 21:19