
Ça permet de pouvoir aussi les écouter en wifi, comme la bande passante que prennent les flux audio est faible.
82 lines
1.4 KiB
Bash
Executable file
82 lines
1.4 KiB
Bash
Executable file
#!/bin/bash
|
|
### BEGIN INIT INFO
|
|
# Provides: radio
|
|
# Required-Start: $remote_fs $syslog
|
|
# Required-Stop: $remote_fs $syslog
|
|
# Default-Start: 2 3 4 5
|
|
# Default-Stop: 0 1 6
|
|
# Short-Description: network radio
|
|
### END INIT INFO
|
|
|
|
DIR="/usr/scripts/tv/radio/"
|
|
PIDFILE="/tmp/multicast.pid"
|
|
TMP="/tmp/"
|
|
sap_gen(){
|
|
PREV="`md5sum /etc/sap.cfg`"
|
|
${DIR}sap.py > /etc/sap.cfg
|
|
NEXT="`md5sum /etc/sap.cfg`"
|
|
if [ "$PREV" != "$NEXT" ]; then
|
|
/etc/init.d/minisapserver force-reload >/dev/null
|
|
fi;
|
|
}
|
|
vlc_start() {
|
|
if [ -f $PIDFILE ]; then
|
|
pid=`cat $PIDFILE`
|
|
if [ `ps -p $pid | wc -l` -eq 2 ]; then
|
|
exit 0
|
|
fi
|
|
fi
|
|
${DIR}vlm.py > ${TMP}vlm.vlm
|
|
${DIR}icecast.py > /etc/icecast2/radio.xml
|
|
/etc/init.d/icecast2 restart
|
|
/usr/bin/sudo -u www-data cvlc --extraintf telnet --ttl 12 --vlm-conf ${TMP}vlm.vlm --pidfile ${PIDFILE} --daemon >/dev/null
|
|
}
|
|
|
|
|
|
vlc_stop(){
|
|
if [ -f $PIDFILE ]; then
|
|
pid=`cat $PIDFILE`
|
|
kill $pid
|
|
fi
|
|
}
|
|
|
|
vlc_status(){
|
|
if [ -f $PIDFILE ]; then
|
|
pid=`cat $PIDFILE`
|
|
if [ `ps -p $pid | wc -l` -eq 2 ]; then
|
|
echo "VLC is running."
|
|
exit 0
|
|
fi
|
|
fi
|
|
echo "VLC is NOT running."
|
|
}
|
|
|
|
usage(){
|
|
echo "Usage: $0 {start|stop|restart}"
|
|
exit 1
|
|
}
|
|
|
|
case $1 in
|
|
start)
|
|
sap_gen;
|
|
vlc_start;
|
|
;;
|
|
stop)
|
|
vlc_stop;
|
|
;;
|
|
restart)
|
|
sap_gen;
|
|
for i in `seq 10`; do
|
|
vlc_stop;
|
|
sleep 1;
|
|
if [ ! -f $PIDFILE ]; then
|
|
break
|
|
fi
|
|
echo -n "."
|
|
done
|
|
vlc_start;
|
|
;;
|
|
*)
|
|
usage;
|
|
;;
|
|
esac
|