亮相 LiveVideoStackCon 2021,网易云信分享 QoS 优化之道

2021 年 4 月 16 日,多媒体技术领域盛会 LiveVideoStackCon 音视频技术大会在上海举行。本届会议以“新技术,新机会”为主题,聚焦在音频、视频、图像等技术的最新探索与应用实践。

作者:王兴鹤 网易云信资深音视频引擎开发工程师

数十位业内知名讲师与来自全国各地的音视频工程师、多媒体工程师、图像算法工程师、运维与物联网工程师等分享了技术创新与优异实践。

网易云信资深音视频引擎开发工程师王兴鹤受邀参会,在“网络传输与 RTC”专题会场中进行了题为《网易云信 QoS 优化实践》的主题演讲,分享了在弱网环境下,提供良好音视频传输服务的思路和优化经验,以及云信在 QoS 优化方面具体的实践和思考,精彩分享获得参会者的一致好评。

一、如何应对爆发式的音视频数据增长?

随着 AI 和 5G 的到来,以及疫情的变化,音视频数据呈现爆发式增长,音视频应用变得更加广泛,人们对音视频的品质需求也越来越高,视频分辨率从高清发展为超高清、VR,视频帧率也已出现 60fps、120fps 等应用,交互式的应用对端到端延时也提出了更高的要求。与此同时,设备的硬件性能也突飞猛进。

可以预见,随着 5G 的应用更为普遍,网络中传输的数据将会呈现爆发式增长,大量数据将会给网络传输带来巨大的挑战——网络服务提供商需要在技术层面做到对瞬息万变的网络环境有很强的适应能力,需要合理利用抗丢包、抗抖动,拥塞控制等手段应对变化的网络,需要在不同的网络特征和用户场景下充分发挥各项技术的优势,扬长避短,在有限的网络资源中,找到延时、画质、流畅三者之间的优异平衡点,提供良好的音视频传输服务。

亮相 LiveVideoStackCon 2021,网易云信分享 QoS 优化之道

王兴鹤在演讲中认为:“虽然网络中常见的问题有丢包、抖动、拥塞、延时等不同的分类,但这些弱网的分类并不独立存在,而是会相互转化,相互影响;另外从接收端 QoE 的角度来看,网络问题固然会是我们分析弱网影响的重要部分,但音视频链路中其它环节带来的体验上的影响也不容小觑。为了给用户带来良好的音视频体验,QoS 优化是整体的综合性的优化。”

二、用技术组合拳实现效果最大化

针对上述的一系列弱网问题,网易云信的 QoS 引擎采用了大量的技术手段进行抵抗,比如重传、FEC、GCC、Jitter Buffer 等,具体阐述如下:

FEC(前向纠错码)是在发送端额外发送一些冗余数据,用于抵抗网络丢包。当接收端检测到媒体数据发生丢包时,就可以利用接收到的冗余数据进行丢包恢复。

重传是当接收端检测到丢包时通过反馈给发送端丢包信息(NACK)进行相应数据的重传,最大的好处是码率利用率高,缺点是会引入额外的丢包恢复抖动,从而拉大延时。

Jitter Buffer 的作用是以最低的缓冲延时代价消除数据抖动,提供流畅的播放帧率,也就是说,在解码之前的任何环节引入的数据抖动,都会汇总到 Jitter Buffer 模块处理抖动消除。

除了重传、FEC 等常规手段之外,长期参考帧技术打破了传统的向前一帧的参考规则,可以更加灵活地选择参考帧;在有丢包的场景下,接收端不需要等待丢包恢复也能继续显示画面,其最大的好处是低延时,不需要等待重传恢复,但是带来了压缩率的牺牲,在相同码率下表现为图像质量的牺牲;但长期参考帧比较适合 1V1 的场景,而多人场景时,需要大小流和 SVC 发挥作用,在带宽不足时,不同用户对清晰优先和流畅优先的需求不一样,SVC 和大小流提供了灵活的机制满足不同应用的需求。

而具体到应用场景时,王兴鹤说:“我们要注意到不同应用场景的需求,比如通信场景更多的是用 FEC,重传作为辅助,提升实时性。直播场景更多是用重传,FEC 作为辅助,提升清晰度。”

这意味着,每一种技术都有各自的优点和不足,在解决主要问题的同时,可能会带来不同的收益降低;在不同的应用场景下,对于技术的选择也有不同要求。因此,仅仅支持了这些功能并不是很困难,困难的是如何调试优化各个模块的相关参数,让各个功能相互配合。

经过一系列综合优化后,网易云信的音视频通话可以做到端到端延时小于 200ms,较高可抗 1000ms 网络抖动,在网络丢包 70% 时仍能正常通话。

三、制定差异性策略 持续优化

在王兴鹤看来,QoS 的优化是个长期持续的过程,主要体现在三个方面:

首先,是各类算法还需要不断的升级,FEC、重传、Jitter Buffer、Neteq、GCC 等都需要进一步地精细化,并结合 AI 技术和反馈机制,适应不同网络的情况。

其次,要理解不同场景、不同用户的个性化需求,细分服务的颗粒度,提供更加差异化的产品和服务。

例如 1v1 场景大多是交互性的应用,因此对延时和流畅要求较高;而多人场景中又可以细分 1vN、NvN 等,多人会议中,网络中传输流的数量将呈指数型上升,对算法和整体稳定性提出了更高的挑战。不同的场景的需求有明显的特征,我们需要将这些特征跟我们的算法和架构深度关联,将一些损失和收益的平衡做到极致,提供较高性价比的服务。

最后,要注意数据结果对产品迭代和优化的驱动,不能只是在理论层面做得很完善,还要结合实际执行效果的观测来建立闭环的反馈和优化机制。

这也是网易云信 QoS 引擎迭代升级的思路:对大部分场景,或者大部分指标都有优化技术的项目,那就相对简单,可以全面铺开落地;而对于有得有失的技术优化,首先需要做大量的对比测试、验证,尽可能得出各种情况下的实验室理论结果;其次要求所有已发版的相关功能参数可控,结合线上实际的观测数据,做数据挖掘和综合分析,形成数据驱动下的闭环效应,线上数据一方面可以验证实验室的测试结果,另一方面可进一步指导后续优化工作。

“QoS 优化最大的困难是如何把握各项资源的平衡,并寻找到优异平衡点“,王兴鹤总结说,这也是网易云信 QoS 引擎在进行的深层次的 QoS 优化工作——基于场景的优化,制定差异化的策略适应不同的场景,并不断迭代优化。

作者介绍

关于网易云信

网易云信:网易智企旗下融合通信云服务专家、通信与视频 PaaS 平台。集网易 24 年 IM 以及音视频技术打造的融合通信云服务专家,稳定易用的通信与视频 PaaS 平台。提供融合通信与视频的核心能力与组件,包含 IM 即时通讯、5G 消息平台、一键登录、信令、短信与号码隐私保护等通信服务,音视频通话、直播、点播、互动直播与互动白板等音视频服务,视频会议等组件服务,并联合网易易盾推出一站式安全通信方案「安全通」。目前,网易云信已经成功发送 1.6 万亿条消息,覆盖智能终端 SDK 数累计超过 186 亿,我们期待每个智能终端都有云信的融合通信能力。

文章标题:亮相 LiveVideoStackCon 2021,网易云信分享 QoS 优化之道,发布者:网易智企,转载请注明出处:https://worktile.com/kb/p/5812

(1)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
网易智企网易智企认证作者
上一篇 2022年3月16日 下午10:36
下一篇 2022年3月16日 下午10:41

相关推荐

  • 为什么要做意向客户的管理

    做意向客户管理的主要原因有:1、提高销售转化率;2、优化营销策略;3、提升客户满意度;4、建立长期关系;5、提高品牌影响力。对意向客户的管理可以提高销售转化率。当我们了解客户的需求和购买意向后,就可以提供更加针对性的产品或服务,从而提高销售转化率。通过了解客户的购买行为、需求和喜好,企业可以调整产品…

    2023年7月16日
    13700
  • 什么是架构,什么是架构师

    架构是一个系统或项目的整体结构和组成要素,以及它们之间的关系。在软件开发中,架构可以包括硬件架构、软件架构、企业架构。架构不仅包含系统的组成部分,还包括这些组成部分的交互方式,以及它们与环境的关系。架构师是负责设计、规划、协调和实施架构的专业人员。架构师的责任包括:确定系统的架构风格和模式,设计系统…

    2023年7月13日
    17300
  • 什么是悲观锁和乐观锁

    乐观锁,顾名思义就是总是假设较好的情况,每次获取数据的时候都认为别人不会修改,所以不会上 锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据。悲观锁,顾名思义就是总是假设最坏的情况,每次获取数据的时候都认为别人会修改,所以每次在获取数据的时候都会上锁。 一、什么是乐观锁 乐观锁,顾名思义…

    2023年7月27日
    6800
  • 如何通过自动化测试提升研发效能

    随着技术的发展与市场竞争加剧,企业越来越注重研发效能的提升。在软件开发过程中,自动化测试作为提升效能的重要手段,其作用不容小觑。依靠自动化测试,团队能够快速检测出软件中的问题,减少人力成本,提高软件质量和交付速度。核心观点包括:1、缩短产品迭代周期;2、确保软件质量和稳定性;3、提高测试覆盖率和准确…

    2023年11月17日
    1800
  • 阐明c#的思想是什么

    c#的思想是:面向对象(oop)”面向对象”的核心在于,先把所有要解决的分类。用计算机来解决人们实际问题的思维方式,即编程思想。C#是一种面向对象的,从程序语法上看,面向对象比结构性的程序多了两个特性。 一、c#的思想 C#的编程思想就是面向对象(oop)”面向对…

    2023年3月19日
    15200
  • ThinkPHP5和laravel有什么区别

    ThinkPHP5和laravel有什么区别:1、渲染模板的方式不同;2、跨站方式不同;3、路由不同;4、中间件;5、加密方式不同;6、If和foreach语句区别。Thinkphp语句是:$this->display()、Laravel语句是:return view()。 一、渲染模板的方式…

    2023年5月22日
    13300
  • java判断null!=a和a!=null的区别

    null!=a和a!=null的区别是:null != a 要比a != null 好在于避免由于编码失误造成把a赋值为null,只是编码风格上的区别,效率是一样的;在极个别情况下,如果此时判断是 if(out != null),会出现空指针导致崩溃。 null != a 要比a != null 好…

    2023年2月13日
    28800
  • Web前端是什么与后端的关系是什么

    Web前端是指构建和设计网站用户界面的技术和工具,它通常涉及使用HTML、CSS和JavaScript等技术来开发用户交互和视觉效果。Web后端是指处理网站后台功能的技术和工具。Web前端和后端通常协同工作,构成一个完整的Web应用程序。 一、Web前端是什么 Web前端是指构建和设计网站用户界面的…

    2023年5月8日
    15900
  • ChatGPT与其他语言生成模型的区别在哪里

    摘要:ChatGPT是基于强大的GPT-3架构设计的一款会话式人工智能,与其他语言生成模型相比,其显著的差异主要表现在对话式交互优化、强化学习的训练方法、强大的上下文理解能力和多样性与适应性4个方面。ChatGPT针对创建连贯的对话环境进行了特别优化,通过强化学习从人类反馈中不断进步,具备解读和记忆…

    2023年11月28日
    300
  • 步骤指南:如何实施知识库的版本控制

    实施知识库的版本控制的步骤:1、选择版本控制系统;2、初始化版本控制仓库;3、创建分支;4、进行修改和提交;5、合并分支;6、版本标记和发布;7、版本回溯;8、处理冲突;9、培训和文档;10、持续优化。知识库的版本控制是一项关键的管理实践,它确保知识库内容的有序演进,方便团队协作、追溯变更并确保内容的稳定性。

    2023年11月16日
    900

发表回复

登录后才能评论
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部