Icecast流在客户端不停止播放的情况下切换源

2024-06-16 14:43:44 发布

您现在位置:Python中文网/ 问答频道 /正文

早上好:)

我有一些关于icecast设置的问题。 我们教堂里有我自己的服务器(Nextcloud)。这工作非常好,因为在德国,社区服务已经被禁止了一次,在所有的Covid19事件中,我们希望有一个流设置。我设法在我们的服务器上设置了一个icecast实例,我们使用我的旧笔记本电脑、火箭广播机和Steinberg CI2来提供流的源。这一切都如愿。我们已经使用过一次,因为我们的一位会员出国一周后检测呈阳性,我们停止了两周的公共服务。 广播公司的接线员不想在那里再放一个显示器,这会干扰他听讲道

我的项目是:我有一个RPi4和一个Behringer U-Phoria UMC202HD。输入atm是连接到接口的标准话筒。 Pi配置了darkice并使用了自己的icecast安装,而我正在家里测试一切。自从我开始流媒体项目以来,在服务结束后,我们将Rocket Broadcase切换为使用VLC和一个旧服务录音文件夹(已掌握并以MP3格式),以便在我们工作或旅行时提供收听来源。这个选项经常被使用,我想让它继续下去。 我的计划是有一个带LED电平表的小盒子,在那里显示输入电平。这应该用一点python脚本来完成。此外,我想添加两个按钮,其中两个设置的预设加载。按钮1:关闭当前源并启动darkice livestream。按钮2:关闭当前源并开始播放旧录音。这两个选项都应为操作员提供视觉反馈。raspberry必须在无头模式下工作,无需VNC或SSH连接即可正常使用

我的问题:我试过: sudo killall darkice && /home/pi/darkice.sh

这段代码将被更改,因为我可能必须使用ices来播放mp3。所以基本上它会杀死darkice,开始ices播放(现在只会在眨眼间重新启动流),反之亦然。 bash文件存在,并通过cronjob在重新启动时执行。这很有效。当我执行上面提到的killall命令时,icecast几乎立即继续广播,但流在客户端停止。每个人都需要重新启动它。 我是否有更改设置的选项,以便我能够在两个选项之间切换,而无需所有人重新启动? 我的计划是创建一个bash脚本,我在其中完成这一切,并通过GPIO输入和pythoncode执行它

提前谢谢


Tags: 项目服务器脚本bash选项按钮计划录音