搜索
 找回密码
 立即注册

为什么视频会议用 UDP?如果用 TCP 实现音视频,需要建立几次连接?用 UDP 实现音视频,有什么方法可以保证通话质量?

音视频开发进阶 2022-8-10 22:17:45 156

1)为什么视频会议用 UDP? 视频会议场景最重要的体验指标一般是『通话延时』和『语音音质』两方面。 在传输层使用 UDP 的主要考虑是为了降低通话延时。因为 UDP 的不需要 TCP 那样的面向连接、可靠传输、拥塞控制等机制,这些机制(比如三次握手建连、丢包重传等)通常都会带来相对 UDP 更高的延时。 当然,另外一方面原因是人们对视频会议中图像信息的损失容忍度是比较高的,这样即使 UDP 无法保证可靠性,有时候还是可以接受的。 2)如果用 TCP 实现音视频,需要建立几次连接? 可以做到只建连一次,多路复用。 也可以音频和视频各使用一路连接。 3)用 UDP 实现音视频,有什么方法可以保证通话质量? 使用 UDP 享受了低延时,牺牲了可靠性。但可靠性牺牲太多导致不可用也是不可接受的,所以还需要做一些机制来保证一定的可靠性,比如我们可以参考 WebRTC 的机制:

  • NACK:通过丢包重传解决丢包问题,会增加延时。
  • FEC:通过冗余数据解决丢包问题,会增加带宽占用。
  • JitterBuffer:通过队列对接收到的数据进行缓冲,出队时将数据包均匀平滑的取出,解决视频的乱序与抖动。
  • NetEQ:类似 JitterBuffer,解决音频的乱序与抖动。

使用道具 举报

随机推荐

0 回复

游客
返回顶部