【问题标题】:High audio latency with Icecast and DarkiceIcecast 和 Darkice 的高音频延迟
【发布时间】:2013-06-16 13:10:21
【问题描述】:

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

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

P.S 我流式传输的格式是 mp3。有人建议我应该使用 opus 编解码器,但我认为 icecast 或 darkice 不支持它。

【问题讨论】:

    标签: audio-streaming icecast low-latency internet-radio


    【解决方案1】:

    这并不是性能不佳...这是故意的,以便客户端在播放开始后不会经历重新缓冲。互联网广播服务器不是为低延迟而构建的。

    延迟的来源有很多:

    • 捕获缓冲区(
    • 编码缓冲区(~250ms-1s,取决于编解码器)
    • 编码器到服务器的网络传输和缓冲 (
    • 服务器缓冲区(您禁用的那个,通常设置为 1MB,这可能会很长,具体取决于比特率)
    • 服务器到客户端的网络传输和缓冲(通常
    • 客户端缓冲区(变化很大,但通常为 2 秒)
    • 客户端播放缓冲区(

    如您所见,其中最大的是服务器缓冲区。你已经消除了它,这就是你所能做的。如果您想要具有较低延迟的东西,您需要一种不同的技术。

    【讨论】:

    • 感谢您的详细解释...但我能够通过使用 html5 视频标签而不是产生 6 秒延迟的音频标签将其减少到 2s-3s...我不不知道为什么会减少,但确实如此。你认为你能解释为什么视频标签给了我非常低的延迟。
    • @user2057125,不同的软件,缓冲区的配置可能不同。甚至可能一个编解码器包用于音频标签,另一个用于视频标签。它们可能不同的原因有很多,不应假定使用视频标签与音频标签总是会降低延迟。
    • 对于它的价值,我曾经设法获得的最低延迟约为 7 秒 - 这是在最新 (v2+) 版本的低/中比特率音频流 (64-128kbps) 上使用 Butt 等客户端的 Icecast、Oddcast 和硬件编码(例如 Barix instreamer)。正如布拉德所说,任何较低的玩家都会经常重新缓冲。这也取决于您使用的播放器(或浏览器)。
    猜你喜欢
    • 2019-06-06
    • 1970-01-01
    • 1970-01-01
    • 2012-09-16
    • 2018-07-19
    • 1970-01-01
    • 1970-01-01
    • 2013-12-15
    • 2012-04-27
    相关资源
    最近更新 更多