如何实现低延迟的n对n音频聊天

时间:2010-02-01 13:14:54

标签: flash audio chat

我正在研究如何实现n对n音频聊天(所以,让我们说4个人互相听到)。使用Flash或Wowza Media Server非常简单。 真正的问题是延迟,因为聊天中的4个人必须尽可能地同步(例如,像唱歌一样)。每一毫秒都很重要。

您对超低延迟音频聊天的体验是什么?

  • 可实现的最低延迟时间是什么?
  • 你是如何实现的(哪个软件,协议,媒体服务器,比特率)?

非常感谢!

1 个答案:

答案 0 :(得分:0)

可实现的最低延迟取决于您的代码无法控制的许多因素,主要与您的网络有关。

现在,如果我是这个项目的那个人,我会看到什么算法和协议可用于时钟同步。执行此操作后,每个主机应该只是向服务器发送带时间戳的数据包。在服务器端,您可以以某种方式组合这些数据包(可能是每个机器的某个时隙的按位或所有字节)并通过多播再次发送出去。

麻烦的是,即使您的代码也会出现问题......您无法可靠地将这些数据包实时地发送到服务器。 UDP将丢弃数据包,你必须建立一个容忍接受延迟到达或没有显示。 TCP在这方面并不好。当然,数据包保证按顺序到达,但成本是多少?此外,要压缩每个主机上的声音,然后在服务器上解压缩,进行组合,然后重新压缩...同时保持实时声音的野心非常雄心勃勃。

我是NO MEANs被认为是专家,也没有任何经验做这类事情,但它只是声音很难。