通过互联网进行实时音频流传输

通过互联网进行实时音频流传输

由于新冠疫情封锁,我和朋友无法聚在一起演奏音乐。

使用 Discord、Skype、Zoom 等最流行的服务时,我们会遇到超过半秒的延迟,这使得一起播放任何类型的音乐完全不可能。

我非常肯定有一种方法可以将延迟降至 100 毫秒以下,甚至可能降至 70 毫秒以下,但坦率地说,我经历了一场噩梦,我所做的任何搜索都给我有关流视频的信息,而不仅仅是音频。

我有一台 Windows PC,但如果绝对必要,我可能会使用 Raspberry Pi。我朋友有一台 Mac。

我曾尝试使用 ffmpeg 制作 rtp 或 udp 流,然后在另一台设备上捕获它。但是,无论选择哪种方式,这都会有 600 多毫秒的延迟。即使使用 127.0.0.1 进行本地流,延迟仍然存在。我觉得这是由于 ffmpeg 的 dshow 捕获而不是任何实际的网络延迟造成的。

为此,有没有相对简单的方法可以做到这一点?我想要的只是我们两人之间一个简单的双向立体声音频连接,延迟足够低,以便能够实时一起玩。我无法想象在当今时代这是不可能的。

谢谢

答案1

尝试点对点减少前往服务器并返回的延迟,问题仍然是互联网存在可变的延迟……一个数据包可能通过本地 ISP 路由,而另一个数据包可能经过四五个跨越全球大部分地区的跳转。VPN 造成了这种延迟和不确定性更糟糕。耳朵可以分辨出几十毫秒的延迟。当然,你可以一起练习,并尝试不同的服务(关闭视频以减少带宽),但不要期待很好的结果。

相关内容