我有多个网络广播,出于可管理性/兼容性的考虑,我需要馈送来自VLC的流。我试图通过编写一个bash脚本来实现此目的,该脚本在Debian(192.168.1.148
)上启动多个vlc实例,这些实例输入Web流,将其转换为mp3并通过http输出(例如192.168.1.148:8080/radio1
)。
我可以像这样(streamProxy.sh
)成功启动多个 实例:
cvlc --sout "#transcode{acodec=mp3,ab=128,channels=2,samplerate=44100}:std{access=http,mux=raw,dst=127.0.0.1:8080/radio1}" http://mp3stream3.apasf.apa.at/;stream.mp3 > /dev/null &
disown &
cvlc --sout "#transcode{acodec=mp3,ab=128,channels=2,samplerate=44100}:std{access=http,mux=raw,dst=127.0.0.1:8081/radio2}" http://mp3stream7.apasf.apa.at:8000 > /dev/null &
disown;
现在,我对如何设置监控以监视vlc发出的每个流感到困惑,并且在流停止的情况下,杀死vlc实例并启动streamProxy.sh
重新。
我可以使用等效的monit conf监视一个 vlc流的状态,并且需要知道如何
我目前在etc/monit/monitrc
末尾有以下内容:
check host 192.168.1.148 with address 192.168.1.148
if failed url http://192.168.1.148:8080/radio1
then exec "/bin/bash -c '/usr/local/bin/streamProxy.sh'"
当我通过杀死vlc进程杀死流时,monit会正确识别事物的已更改状态,但无法执行streamProxy.sh
。我什至看不到是否尝试。任何帮助表示赞赏。