Liquidsoap + JACK 延迟

Posted

技术标签:

【中文标题】Liquidsoap + JACK 延迟【英文标题】:Liquidsoap + JACK latency 【发布时间】:2013-11-28 14:23:23 【问题描述】:

如何最小化 Liquidsoap 的处理延迟?

我编写了一个非常简单的 Liquidsoap 脚本来测试延迟:

#!/usr/bin/env liquidsoap

set("log.stdout",true)
set("log.file",false)

stream = input.jack(clock_safe=false)
output.jack(stream)

当我将端口与音乐播放器 (mpd) 和声卡连接时,音乐播放开始和停止的延迟约为 0.5 秒。我将 JACK 缓冲区大小设置为 1024,因此延迟应该约为 0.02 秒。当我将 mpd 直接连接到声卡时,延迟不明显,所以肯定是 Liquidsoap 的问题。

我是否缺少任何配置选项,当设置为默认值时会导致不需要的缓冲?我为输入和输出尝试了各种 clock_safe 值,但它们什么也没做。

【问题讨论】:

据我所知,您将无法降低任何内部缓冲区。如果您需要一个考虑到低延迟的工具,我认为 Liquidsoap 不是您想要的。 在邮件列表中也找到了这个帖子:sourceforge.net/p/savonet/mailman/message/31767440 【参考方案1】:

根据documentation,input.jack带了一个buffer_size参数:

buffer_size (int – defaults to 2): Set buffer size, in frames. Must be >= 1.

看起来它默认设置为2,所以不确定将其设置为1是否会获得很多...

【讨论】:

以上是关于Liquidsoap + JACK 延迟的主要内容,如果未能解决你的问题,请参考以下文章

具有嵌入式 Linux 的单核低延迟进程

Liquidsoap——读取元数据

Icecast 和 Liquidsoap - 没有这样的文件或目录

Liquidsoap没有明确定义变量

延迟队列延迟后轮询

Unity的延迟渲染(一)