Icecast和Darkice的高音频延迟

tek*_*teg 10 audio-streaming low-latency internet-radio icecast

我已经成功地在我的ubuntu机器上安装了icecast和darkice,并能够在我的局域网上直播.但令我失望的是它有15秒到20秒的延迟.这是非常糟糕的表现.我不认为这是因为我的局域网连接,因为即使我试图在同一台ubuntu机器上听也有延迟!

我试图将icecast配置为没有突发大小,这意味着没有缓冲,这有助于我将延迟减少到大约6秒到8秒.所以,如果您有任何建议或非常好的配置值,那将对我有很大的帮助.

PS我正在播放的格式是mp3.有人建议我应该使用opus编解码器,但我不认为icecast或darkice支持它.

Bra*_*rad 9

这不是糟糕的性能......它是故意的,因此一旦播放开始,客户端就不会遇到重新缓冲.Internet广播服务器不是为低延迟而构建的.

延迟有很多来源:

  • 捕获缓冲区(<500ms)
  • 编码缓冲区(〜250ms-1s,具体取决于编解码器)
  • 编码器到服务器网络传输和缓冲区(<10ms)
  • 服务器缓冲区(您禁用的缓冲区,通常设置为1MB,这可能需要很长时间,具体取决于比特率)
  • 服务器到客户端网络传输和缓冲区(通常<10ms-1s,移动设备的时间更长)
  • 客户端缓冲区(变化很大,但典型的是2s)
  • 客户端播放缓冲区(<500ms)

您可以看到其中最大的一个是服务器缓冲区.你已经消除了这一点,这就是你能做的一切.如果您想要延迟较低的东西,则需要不同的技术.