2010-02-01 93 views
1

我正在研究如何实现n对n音频聊天(因此,可以说4人互相听到对方)。这是使用Flash或Wowza媒体服务器相当微不足道。 real问题是延迟,因为聊天中的4个人必须尽可能地同步(例如,像唱歌一样)。每毫秒都很重要。如何实现低延迟的n对n音频聊天

您对超低延迟音频聊天有什么经验?

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

非常感谢!

+1

你曾经使用电话,参加过电话会议,还是看过CNN?除非你在本地网络上这样做,否则你没有祷告。 – 2010-02-01 13:18:20

+0

我知道在1秒以下的延迟可能是不可能的......但也许有人已经尝试过类似的东西,可以分享他的经验...... – 2010-02-01 13:47:49

+0

嗯,至少你是现实的:)...当你说“唱歌, “这对我来说意味着表演者正在使用声音来确定他们什么时候需要唱歌,以及要唱什么音符等等。对于这种类型的场景,您确实需要实时感受,所以我没有看到这种情况如前所述,除非是本地网络,否则就是现有技术的一种选择。 – 2010-02-01 13:50:49

回答

0

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

现在,如果我是做这个项目的人,我会看到什么算法和协议可用于时钟同步。一旦你这样做,每个主机应该只是发送时间戳包到服务器。在服务器端,您可以以某种方式组合这些数据包(可能是每个机器的某个时隙的位或全部字节),然后通过多播将它们再次发送出去。

问题是,即使你的代码有问题......你没有办法可靠地将这些数据包实时地发送到服务器。 UDP将丢弃数据包,并且你必须建立一个宽容的接受迟到或不显示。 TCP在这方面并不好。当然,这些数据包保证按顺序到达,但时间是多少?另外,为了压缩每个主机的声音,然后在服务器上解压缩,进行合并并重新压缩,同时保持实时声音非常雄伟的感觉。

我并不意味着被认为是一个专家,也没有任何经验做这种事情,但它只是声音艰难。

+0

感谢您的意见 - 虽然只是说明显而易见,但看起来您是对的 - 现在1秒内的延迟似乎是不可能的。似乎我的客户需要另一个商业理念。谢谢! – 2010-02-02 19:39:29