搞定音频技术
冯建元
声网 Agora 音频算法专家
5340 人已学习
新⼈⾸单¥59
登录后,你可以任选3讲全文学习
课程目录
已完结/共 19 讲
搞定音频技术
15
15
1.0x
00:00/00:00
登录|注册

11|网络差怎么办?音频网络传输与抗弱网策略

你好,我是建元。
上节课我们讲了如何挑选一个编解码器。其实编解码器就是把音频信息拆解、包装成一个个的数据包,然后通过网络传输到远端。在远端打开数据包,再组装成音频播放出去。
如果把一个个数据包比喻成一辆辆运送音频货物的小车,而网络则是运输的道路。那么我们会发现:有的时候我们经过的是高速公路,物流十分流畅;但有的时候我们经过的却是崎岖蜿蜒的山路,甚至有的小车在山路上,摔下了悬崖,丢掉了包裹,或者赶上交通高峰期道路十分拥堵,从而小车超过了规定的物流时间,这些情况就是我们说的弱网。
一般在弱网情况下,音频的体验可能表现为卡顿、杂音。如果情况严重可能会直接导致无法正常通话。这节课我们就来看看音频链路中弱网是怎么形成的,以及我们是如何通过抗弱网策略来解决弱网问题的。

实时音频传输

在讲弱网之前我们先来看看音频是怎么传输的。在实时音频交互的场景中,为了保证传输的实时性,一般使用基于 UDP 协议的 RTP 协议来传输音频数据。相较于 TCP 协议,UDP 提供了一种无需建立连接,就可以发送封装的 IP 数据包的方法。所以它的优点是延迟低、速度快,但丢包了、包损坏了的时候也没有重传机制等做保护,可以说它是一种“尽力而为”的协议机制。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

音频网络传输与抗弱网策略 本文深入探讨了音频网络传输中常见的弱网问题及相应的抗弱网策略。文章首先介绍了实时音频传输的基本原理,包括UDP协议和RTP协议的使用。随后,详细分析了弱网问题的形成,包括丢包、延迟和抖动,并指出这些问题在全球范围内都是不可避免的。最后,介绍了两种抗弱网策略:网络丢包控制和NetEQ。 在网络丢包控制方面,文章详细解释了前向纠错(FEC)和自动重传请求(ARQ)这两种纠错算法的原理和应用,以及它们对网络带宽的消耗和延时的影响。而NetEQ则通过音频处理方法如快慢放和丢包补偿等,解决抖动和丢包的问题,并引入了一定的延迟来提升抗网络抖动的能力。 总的来说,本文通过深入浅出的方式,为读者解析了音频网络传输中的技术特点和解决弱网问题的策略。特别是对于从事相关领域的技术人员,本文具有一定的参考价值。文章还提到了在实际使用中可能需要针对自己的场景进行一些调整,以进一步提升抗网络丢包的能力,同时也给出了思考题,引发读者对于实时音频系统在网络带宽较差情况下的调整思考。 总体而言,本文为读者提供了对音频网络传输中的弱网问题及解决策略的全面了解,为相关领域的专业人士提供了有益的技术参考。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《搞定音频技术》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(8)

  • 最新
  • 精选
  • Leo-J
    带宽受限可以通过带宽探测嗅探出,这时候应该降低音频的基础码率,比如取消FEC和ARQ等,只让Neteq来发挥作用。

    作者回复: 正确

    2021-12-15
    4
  • Dom
    这个问题可以从客户端和服务器端来做优化 【客户端】 重点是想办法降低码率,使用低码率的编解码,同时把FEC和ARQ关掉 【服务端】 1.想办法保证3G网络上面的CDN充足,减少主服务器到3G主网的延时 2.实时音频系统,可以做适当数据缓存,通过缓存的方式提升用户体验

    作者回复: 想到了CDN思路不错

    2022-01-13
  • Jim
    老师,融合操作中的交叉淡化处理是否类似于加窗处理?本质上没啥区别?

    作者回复: 融合操作可以理解为局部加窗然后叠加

    2022-01-02
  • Geek4238
    感觉你说的都是udp层面的东西,直接用tcp是不是就不存在丢包,顺序问题了?

    作者回复: TCP带来的秒级巨大延迟是实时音视频领域不能接受的问题。不然TCP里就自带了很多的方法可以解决其中的一部分问题

    2021-12-16
  • running+
    1)采用G729这种低码率,音质又不太差的这种 2)可以采用FEC和ARQ的融合策略,根据不同情况进行选择不同的抗丢包策略 例如: a) 如果延时100ms以内,丢包5%以下的可以用ARQ的策略 b)如果延时大于200ms,丢包超过10%以上,可以采用RS-FEC 3+2这种 c) 如果延时 100~200之间,丢包又低于10%,可以采用ARQ+FEC 3+2这种策略

    作者回复: 低码率本身或是关键

    2021-12-15
  • 晓龙
    只有 3G 网络覆盖的地方,我们要如何调整实时音频系统才能让实时音频获得比较流畅的体验呢? 缩减频域范围,降低采样率,取消FEC,ARQ。

    作者回复: 基本如是,主要需要低码率的codec

    2021-12-15
  • 602482
    不要明白的是,图三 RS-FEC 算法,两个序号3的包都丢失了,是怎么收到4321的呢
    2022-06-07
    1
  • 龚长华
    1. 加大抖动缓冲区大小 2. 选用高效的音频编码器, 其支持PLC。降低编码码率。优化NEQ处理。 3. 取消fec, arq等消耗带宽的方法。
    2022-04-24
收起评论
显示
设置
留言
8
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部