问题标签 [liquidsoap]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
153 浏览

docker - Docker 中带有实时 ALSA 音频的 Liquidsoap 无法正常工作(口吃和缓冲区欠载)

虽然使用 Liquidsoap 在 Docker 中的简单音频播放output.alsa(..)工作正常,但我无法让实时音频工作。基本上我想将模拟音频输入路由到模拟音频输出,例如output.alsa(input.alsa()). 以下三个示例在本机上工作正常:

示例 1:缓冲 I/O

示例 2:额外缓冲 I/O

示例 3:无缓冲 I/O

通过 Docker 中的这些示例,无论我尝试哪种缓冲区或帧设置,我都会得到大量的音频中断和缓冲区欠载。Docker Container 的 CPU 使用率通常 < 1%,有时会飙升至 5%。使用当前的 Liquidsoap 2 分支,在设置一些额外的高缓冲区和帧大小时情况会好得多,但仍然会发生欠载。

我正在像这样启动容器(之前还尝试过为容器提供额外 CPU 和内存的特定设置):

ALSA 设备的default定义很简单:

需要什么秘方吗?你有一个例子,你是如何让它工作的?

也许这根本不是 Liquidsoap 的问题。希望结合一些隐藏的 Docker 标志来做一些特殊的 ALSA 设备配置就足够了。

0 投票
1 回答
269 浏览

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

我的网络收音机不工作。

我使用 Debian 9、Icecast 2.4.2 和 Liquidsoap 1.1.1

我用命令启动了网络广播:

/etc/init.d/icecast2 重启

服务liquidsoap重新启动

我打开地址:http://MY_IP:8000/autodj

我在浏览器中遇到错误:404 - 找不到您请求的文件

我在 icecast 日志中遇到错误:“/usr/share/icecast2/web/autodj”没有这样的文件或目录

我的冰播配置(/etc/icecast2/icecast.xml):

我的液体肥皂配置(/etc/liquidsoap/radio.liq):

冰播日志:

原木液皂:

0 投票
0 回答
117 浏览

linux - Icecast2 和 Liquidsoap - 多个播放列表

全部。
我有以下用于运行多个播放列表的 radio.liq 文件。

这确实有效,但是,我想知道的是以下内容。
假设我有 50 多个电台/播放列表
有没有更好的方法来加载它们,而不是像我在上面的代码示例中那样单独输入它们的数据信息?
并且在添加新列表时不必重新启动 Liquidsoap,因此不会踢所有听众并重新启动每个站?

像这样的东西,例如:(
在 ASP 或任何服务器端语言中,会对动态内容执行类似的操作。ID-GOES-HERE = request.QueryString("ID")
然后

这将加载该特定电台的播放列表。
所以,如果 URL 是

Station.asp?ID=1
Station.asp?ID=2
Station.asp?ID=3

谢谢大家,您可以为此提供任何信息。
韦恩

0 投票
1 回答
72 浏览

cdn - 如何在 Icecast 服务器上处理 20k 并发侦听器

我想知道如何在 Icecast 服务器上同时处理超过 20k 的听众。我使用 Liquidsoap 作为音频流生成器(只有一个音频流通过 Icecast 服务器分发)。服务器在 AWS 上配置。此外,我想知道我是否需要使用 LB 和 CDN 来处理这么多的流量。

0 投票
0 回答
18 浏览

bash - Liquidsoap request.dynamic 故障

我是liquidsoap 和icecast 的新手,我想创建一个动态播放列表。我正在使用外部 bash 脚本来生成音频文件的多个路径,为此我正在使用 request.dynamic 但它似乎只读取了我的 bash 脚本输出的第一行。谁能帮帮我吗?谢谢

这是我的 Liquidsoap 脚本:

这是我的 bash 脚本:

这是它的结果: