问题标签 [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.
ffmpeg - 如何/在何处放置 FFMPEG `-legacy_icecast 1` 选项以仅影响两个 Icecast 输出之一?(使用 tee muxer 选项)
我有一个 FFMPEG 命令,它能够将 RTMP 实时提要发送到 2 个不同的 icecast 广播电台:
命令 1(在产品中;2 个中的 1 个失败):
在命令 1 上运行时,我会收到以下 FFMPEG 错误:
它工作正常,直到其中一个(fluoz.zeno.fm:80/live)停止工作,我认为 Zeno 将他们的 Icecast 服务器从 v1(旧版)升级到 v2。为什么?因为当我对 Zeno icecast 服务器进行单独测试时,我意识到当我添加-legacy_icecast 1
选项时它运行良好
命令 2(仅使用选项测试 Zeno -legacy_icecast 1
):
问题:
如何使用上面的命令 1 仍然发送到两个 icecast 服务器,但可以-legacy_icecast 1
选择只影响 zeno icecast 服务器而不影响liquidsoap icecast 服务器?我想不惜一切代价避免运行 2 个单独的 ffmpeg 实例,以节省系统资源和带宽。
我问这个问题的原因是因为我尝试通过将选项放在选项-legacy_icecast 1
之前将选项添加到命令 1(发送给两者的...-f tee...
选项),但它仍然无法发送到失败的 Zeno icecast 服务器( Liquidsoap icecast 服务器一直运行良好)。它似乎只有在我不使用 tee muxer 选项时使用命令 2(上面)时才能正常工作。
有没有一种棘手的方法可以将该-legacy_icecast 1
选项放在 tee muxer 选项中?
icecast - LiquidSoap - 随机无法按预期工作
从我的 Liquidsoap 配置中:
我将其解释为为“标准”播放列表中的每 4 个随机曲目播放 1 个随机歌曲。
但我经常会连续播放 2 首歌曲。我误解了配置的逻辑吗?我怎样才能让它只为每 4 个标准播放列表曲目播放一个叮当声?
python - Python 脚本返回的 Liquidsoap 加载轨迹
我有一个 python 脚本,可以调用数据库来获取音乐曲目。该脚本返回该音乐文件的路径。如何让 Liquidsoap 调用 python 脚本并加载脚本返回的音乐文件?
我还需要知道 Liquidsoap 播放该文件并将其返回给 python 脚本的日期/时间。
在 Liquidsoap 中,我目前只是让它监视播放列表文件的更改:
python 脚本进行数据库调用,然后写入 test.m3u 文件。
我在想,也许 Liquidsoap 中有一种方法可以调用脚本并让它返回文件的位置,这样 Liquidsoap 就可以加载它。我还想知道 Liquidsoap 执行此操作的日期/时间,以便我可以让 python 脚本将该信息保存回数据库。
我正在使用liquidsoap 将输出发送到Icecast 服务器。
问候, 安东尼
liquidsoap - 尝试使用 StereoTool 在 Liquidsoap 中处理音频时出现问题
我正在尝试使用 StereoTool 在 Liquidsoap 中处理音频,但以下代码似乎不起作用。与 Icecast 的连接永远无法正常工作。只有当我删除两条管道音频到 StereoTool 时才会这样做。
当我运行 Liquidsoap 时,日志输出如下:
liquidsoap - 如何在 Liquidsoap 中一次只加载一首曲目
我有一个 MySQL 数据库,用于存储我的所有曲目及其相关信息。数据库中的一个表是一个队列表,我从中拉出一个曲目供 Liquidsoap 播放。我正在使用 request.dynamic.list 提供这些曲目以与 Liquidsoap 一起播放。
get_track.py 脚本从数据库中的队列表中检索记录。
我注意到 Liquidsoap 在启动时会抓取两条轨道。两个被“接受”,一个被“准备好”。
有没有办法让 Liquidsoap 一次只接受一首曲目,并且只有在接近当前播放曲目的结尾时才等待接受下一首曲目?
我还安排了添加到数据库中队列表的计划程序,当这种情况发生时,所有轨道都从数据库中的队列表中清除,然后程序被添加到队列表中。
由于 Liquidsoap 在播放“准备好的”曲目时似乎已经在其队列中加载了一首曲目,有没有办法删除该曲目,以便 Liquidsoap 不会播放该曲目,而是再次调用 get_track.py 脚本来加载新曲目从数据库中的队列表?
gstreamer - 使用 gstreamer 流式传输到 nginx,liquidsoap 填满内存并崩溃
嗨,正如我在标题中所说,我正在尝试使用 Liquidsoap 和 gstreamer 将动态播放列表流式传输到带有 nginx 的 rtmp 服务器。也许这听起来令人困惑,抱歉英语不是我的母语。
无论如何,一切正常,除了一段时间之后,liquidsoap 会填满服务器的所有内存和交换并崩溃,而日志文件中没有任何内容。
服务器有 16GB 内存,因此 Liquidsoap 需要大约 20 小时才能达到 30GB 大小并崩溃。
我以此为例进行流式传输。
任何想法这是如何发生的,如果我能在一段时间后找到一种方法来清理内存使用,而不必重新启动液体肥皂和流?我想即使我在服务器上有 60gb 内存,liquidsoap 也会填满它并最终崩溃。这是文件大小中的旧缓冲视频吗?
liquidsoap - Liquidsoap:如何迭代字符串列表
我想为 的on_connect
参数添加一个函数input.harbor
。该函数将标题作为字符串列表获取。现在,我想遍历列表以记录每个标题行(出于调试目的)。
我怎样才能做到这一点?我已经找到了list.iter
,但不知道如何应用它。
一个例子会有很大帮助。
liquidsoap - Liquidsoap - 如何根据标签创建播放列表
我想知道是否可以根据音乐文件的标签或其他元数据在 Liquidsoap 中创建播放列表。
谢谢你。
icecast - 如何使用 Liquidsoap 将单个视频流式传输到 Icecast 服务器
我正在尝试按照此处页面顶部的简单示例,使用liquidsoap 将单个视频文件流式传输到icecast 服务器。我正在使用本地.ogg
文件。脚本的完整内容是:
我在端口 8000 上本地运行 icecast 服务器。由于某种原因,脚本根本没有连接到服务器。相反,它只是不断打印出来
到控制台。
icecast 服务器日志显示:
知道如何让它工作吗?我可以使它适用于纯音频文件,但不适用于视频。
liquidsoap - 使用liquidsoap 更改流名称
有没有办法用 Liquidsoap 更改流名称?如果当前源是实时的,我想附加实时。