scripts/tv/radio/radio.init
Valentin Samir 39c75f058d [tv/radio] Une instance de icecast pour les flux radio http
Ça permet de pouvoir aussi les écouter en wifi, comme la bande passante
que prennent les flux audio est faible.
2013-12-21 03:35:24 +01:00

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