【发布时间】:2020-06-14 22:20:37
【问题描述】:
我正在寻找使用 Liquidsoap 安排播放列表的最佳实践方法。我目前的方法会产生大量延迟,因此无法满足无缝播放的要求。
要求:
- 在安排新的播放列表后,应删除所有以前安排的播放列表项。
- 在清除之前排队的播放列表项时避免任何延迟。
我目前的实现:
- 通过将它们推送到
equeue来安排一堆文件(代表一个播放列表) - 此队列开始播放
- 当下一个时间段到期时,新的播放列表不能简单地排队,因为它只有在前一个播放列表排队的所有曲目都播放完后才会开始。因此,我首先使用 Liquidsoap 服务器脚本删除之前播放列表的所有曲目。此过程非常耗时,并且会延迟第 4 步的及时执行。)
- 通过将新文件推送到
equeue来安排新文件。
我怎样才能更优雅地做到这一点?
是否可以清除 equeue 而不会造成延迟?
如果有“更正确”的 Liquidsoap 功能来实现这一点,例如 playlist(我可以控制它何时播放?)或 request.dynamic(已弃用)而不是 equeue,请让我知道。
更新:我目前正在使用两个队列:A 和 B。在队列 A 应该播放前一分钟,我用曲目(播放列表)填充它。当它应该真正播放时,我会调高音量。然后,在队列 B 播放前一分钟,我填充了这个。当实际播放时间到时,我将音量从队列 A > B 转换。理论上这个解决方案会很好,但这里的问题是我不知道队列暂停的方式直到我调高音量。在队列/播放列表被填满的那一刻,曲目似乎已经开始播放。
【问题讨论】:
标签: liquidsoap