Clipinc.sh

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(M)
(M)
Zeile 77: Zeile 77:
 
;;
 
;;
 
     -kill)
 
     -kill)
PID=`pidof -x clipinc.pl`
+
pidof -x clipinc.pl | xargs -r kill -9
eval ${PID:+kill -9 $PID}
+
 
;;
 
;;
 
esac
 
esac

Version vom 7. Dezember 2005, 20:40 Uhr

Script für clipinc

Datei
$PATH/clipinc.sh
#!/bin/sh
#
# clipinc.sh
#
# Required: at, clipinc.pl, lame, ffmpeg ('--enable-mp3lame')
#
# add this lines to your reccmds.conf:
# folgende zeilen in die reccmds.conf eintragen:
#
# Run clipinc        : /path_to_this_script/clipinc.sh -start
# Run clipinc + 2mp3 : /path_to_this_script/clipinc.sh -start -2mp3
# Stop clipinc?      : /path_to_this_script/clipinc.sh -kill

# CONFIG START
  AUDIO_CODEC=""     # force audio codec ('copy' to copy stream) -> default ('mp3')
  AUDIO_BITRATE=""   # set audio bitrate (in kbit/s)		 -> default ('192')
  AUDIO_SAMPLING=""  # set audio sampling rate (in Hz)		 -> default ('44100')
  CLIPINC_LOGFILE="/var/log/vdr/clipinc.log"
# CONFIG END

PATH=$PREFIX/bin:$PREFIX/sbin:$PATH

case "$1" in
    -start)
	at now <<EOT
	PID=`pidof -x clipinc.pl`
	if [ -n "\$PID" ] ; then
	    svdrpsend.pl -p ${VDR_PORT:-2001} MESG "Sorry, but clipinc.pl is running with pid (\$PID)..."
	else
	    if [ -e "$2/recinfo.conf" ] ; then
		clipinc.pl "$2"
	    elif [ -e "$3/recinfo.conf" ] ; then
		clipinc.pl "$3"
		cl_() {
		    sed -e 's/__/_/g' \
			-e 's/^_//g' \
			-e 's/_$//g' \
			-e 's/_/ /g' \
			-e 's/--/-/g' \
			-e 's/^-//g' \
			-e 's/-$//g' \
			-e 's/-/ /g' \
			-e 's/  //g'
		}
		find "$CLIPINCDIR" -name '001.vdr' -printf '%h\n' | \
		while read DIR ; do
		    cd "\$DIR"
		    LABEL=\$(dirname "\$DIR")
		    NAME="\${LABEL##*/}"
		    if [ -f 001.vdr ] ; then
			TITLE="\$(echo \${NAME##*_-_} | cl_)"
			AUTHOR="\$(echo \${NAME%%_-_*} | cl_)"
			case $2 in
			    -2mp3)
				SESSION="$CLIPINC2DIR/\$AUTHOR"
				mkdir -p "\$SESSION"
				if [ ! -e "\$SESSION/\$TITLE.mp3" ] ; then
				    ffmpeg \
					-i 001.vdr -acodec ${AUDIO_CODEC:-mp3} -ab ${AUDIO_BITRATE:-192} -ar ${AUDIO_SAMPLING:-44100} \
					     \${TITLE:+-title "\$TITLE"} \${AUTHOR:+-author "\$AUTHOR"} "\$SESSION/\$TITLE.mp3" &
				    wait
				fi
				;;
			esac
		    fi
		done
	    else
		svdrpsend.pl -p ${VDR_PORT:-2001} MESG "recinfo.conf not found..."
	    fi
	fi \
	> $CLIPINC_LOGFILE 2>&1
EOT
	;;
    -kill)
	pidof -x clipinc.pl | xargs -r kill -9
	;;
esac