Clipinc.sh
Aus VDR Wiki
(Unterschied zwischen Versionen)
Zeile 9: | Zeile 9: | ||
# folgende zeilen in die reccmds.conf eintragen: | # folgende zeilen in die reccmds.conf eintragen: | ||
# | # | ||
− | # Run clipinc : / | + | # Run clipinc : /path_to_this_script/clipinc.sh -start |
− | # Run clipinc + 2mp3 : / | + | # Run clipinc + 2mp3 : /path_to_this_script/clipinc.sh -start -2mp3 |
− | # Stop clipinc? : / | + | # Stop clipinc? : /path_to_this_script/clipinc.sh -kill |
# CONFIG START | # CONFIG START | ||
Zeile 20: | Zeile 20: | ||
# CONFIG END | # CONFIG END | ||
− | PATH=/usr/local/bin:$PATH | + | PATH=/usr/local/bin:$PATH:$PREFIX/bin |
case "$1" in | case "$1" in | ||
-start) | -start) | ||
− | at now << | + | at now <<EOT |
PID=`pidof -x clipinc.pl` | PID=`pidof -x clipinc.pl` | ||
if [ -n "\$PID" ] ; then | if [ -n "\$PID" ] ; then | ||
Zeile 32: | Zeile 32: | ||
clipinc.pl "$2" | clipinc.pl "$2" | ||
elif [ -e "$3/recinfo.conf" ] ; then | elif [ -e "$3/recinfo.conf" ] ; then | ||
− | + | clipinc.pl "$3" | |
− | + | SESSION="$CLIPINC2DIR/$(date +%c)" | |
− | + | find "$CLIPINCDIR" -name "001.vdr" | sed '/\.rec\/001\.vdr/!d' | while read i ; do | |
− | + | cd "\$(echo \$i | sed -e 's/.\{8\}$//g')" | |
− | + | LABEL=\$(dirname "\$(pwd)") | |
− | + | NAME="\${LABEL##*/}" | |
− | + | mkdir -p "$SESSION" | |
− | + | find "\$SESSION" -type f -empty -exec rm -f '{}' ';' | |
− | + | if [ ! -e "\$SESSION/\$NAME.mp3" -a -f 001.vdr ] ; then | |
− | + | TITLE="\${NAME##*_-_}" | |
− | + | AUTHOR="\${NAME%%_-_*}" | |
− | + | case $2 in | |
− | ffmpeg | + | -mp3) |
− | -i 001.vdr -acodec ${AUDIO_CODEC:-mp3} -ab ${AUDIO_BITRATE:-192} -ar ${AUDIO_SAMPLING:-44100} \ | + | if [ $(ldd $(which ffmpeg) | grep -c libmp3lame.so) -lt 1 ] ; then |
− | \${TITLE:+-title "\$TITLE"} \${AUTHOR:+-author "\$AUTHOR"} "$ | + | echo "Unsupported codec, 'configure' ffmpeg with ('--enable-mp3lame')..." |
− | + | break | |
− | + | fi | |
− | + | ffmpeg \ | |
− | + | -i 001.vdr -acodec ${AUDIO_CODEC:-mp3} -ab ${AUDIO_BITRATE:-192} -ar ${AUDIO_SAMPLING:-44100} \ | |
+ | \${TITLE:+-title "\$TITLE"} \${AUTHOR:+-author "\$AUTHOR"} "$SESSION/\$NAME.mp3" & | ||
+ | ;; | ||
+ | -2avi) | ||
+ | : | ||
+ | ;; | ||
+ | -2mpg) | ||
+ | : | ||
+ | ;; | ||
+ | esac | ||
+ | wait | ||
+ | fi | ||
+ | done | ||
else | else | ||
svdrpsend.pl MESG "recinfo.conf not found..." | svdrpsend.pl MESG "recinfo.conf not found..." | ||
Zeile 56: | Zeile 68: | ||
fi \ | fi \ | ||
> $CLIPINC_LOGFILE 2>&1 | > $CLIPINC_LOGFILE 2>&1 | ||
− | + | EOT | |
;; | ;; | ||
-kill) | -kill) |
Version vom 16. April 2005, 11:31 Uhr
#!/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=/usr/local/bin:$PATH:$PREFIX/bin case "$1" in -start) at now <<EOT PID=`pidof -x clipinc.pl` if [ -n "\$PID" ] ; then svdrpsend.pl 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" SESSION="$CLIPINC2DIR/$(date +%c)" find "$CLIPINCDIR" -name "001.vdr" | sed '/\.rec\/001\.vdr/!d' | while read i ; do cd "\$(echo \$i | sed -e 's/.\{8\}$//g')" LABEL=\$(dirname "\$(pwd)") NAME="\${LABEL##*/}" mkdir -p "$SESSION" find "\$SESSION" -type f -empty -exec rm -f '{}' ';' if [ ! -e "\$SESSION/\$NAME.mp3" -a -f 001.vdr ] ; then TITLE="\${NAME##*_-_}" AUTHOR="\${NAME%%_-_*}" case $2 in -mp3) if [ $(ldd $(which ffmpeg) | grep -c libmp3lame.so) -lt 1 ] ; then echo "Unsupported codec, 'configure' ffmpeg with ('--enable-mp3lame')..." break fi ffmpeg \ -i 001.vdr -acodec ${AUDIO_CODEC:-mp3} -ab ${AUDIO_BITRATE:-192} -ar ${AUDIO_SAMPLING:-44100} \ \${TITLE:+-title "\$TITLE"} \${AUTHOR:+-author "\$AUTHOR"} "$SESSION/\$NAME.mp3" & ;; -2avi) : ;; -2mpg) : ;; esac wait fi done else svdrpsend.pl MESG "recinfo.conf not found..." fi fi \ > $CLIPINC_LOGFILE 2>&1 EOT ;; -kill) PID=`pidof -x clipinc.pl` eval ${PID:+kill -9 $PID} ;; esac