Anhang: TVAufnahme.sh
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 | #!/bin/bash # SKRIPT für die Aufname mit TVBrowserCron.sh erstellte Jobs aus dem TV-Browser heraus ### KONFIGURATION - DATEN FÜR AUFNAHME DATE=`/bin/date '+%d.%m.%Y-%H.%M'` DAY=`date '+%d'` MONTH=`date '+%m'` HOUR=`date '+%H'` MINUTE=`date '+%M'` VERZ=$HOME/.tvbrowser VIDEO=$HOME/Videos TITEL=${2} SENDER=${1} #Vorsichtshalber alle VLC-Instanzen beenden killall vlc # Von VLC benötigte Angaben aus der channels.conf extrahieren: echo `cat ~/.mplayer/channels.conf | grep "${1}:****"` &> /tmp/SenderPID FRQ=`cat /tmp/SenderPID | cut -d ":" -f 2 ` BNDW=`awk -F ":" '{print $4}' /tmp/SenderPID | awk -F "_" '{print $2}'` PRG=`cat /tmp/SenderPID | cut -d ":" -f 13 ` ## && rm /tmp/SenderPID # REINE AUFNAHME if [ "${4}" == "Aufnehmen" ]; then # AUFNAHME STARTEN cvlc dvb-t:// :dvb-frequency=$FRQ :dvb-bandwidth=$BNDW :program=$PRG :sout=$VIDEO/$SENDER-"$TITEL"-$DATE.ts --no-sout-display & sleep 2 echo `pgrep -n vlc` &>/tmp/ZappingVLC.txt AUFNAHME=`cat /tmp/ZappingVLC.txt` ##AUFNAHME BEENDEN sleep ${3} kill $AUFNAHME fi # NUR ANSEHEN if [ "${4}" == "Ansehen" ]; then DISPLAY=:0 vlc dvb-t:// :dvb-frequency=$FRQ :dvb-bandwidth=$BNDW :program=$PRG --fullscreen & sleep 2 echo `pgrep -n vlc` &>/tmp/ZappingVLC.txt WATCH=`cat /tmp/ZappingVLC.txt` # BEENDEN sleep ${3} kill $WATCH fi # "TIME_SHIFT" if [ "${4}" == "Beides" ]; then # AUFNAHME STARTEN cvlc dvb-t:// :dvb-frequency=$FRQ :dvb-bandwidth=$BNDW :program=$PRG :sout=$VIDEO/$SENDER-"$TITEL"-$DATE.ts --no-sout-display & # PID deraufnehmenden VLC-Instanz auslesen sleep 2 echo `pgrep -n vlc` &>/tmp/ZappingVLC.txt VLCEND=`cat /tmp/ZappingVLC.txt` sleep 1 DISPLAY=:0 vlc --fullscreen --play-and-exit $VIDEO/*-$DATE.ts & # AUFNAHME BEENDEN sleep ${3} kill $VLCEND & fi # CRONTAB LÖSCHEN crontab -l &> $VERZ/Doublette.txt # Auslesen der Infos zum Löschen DELETE=`cat $VERZ/"$TITEL-$MINUTE-$HOUR-$DAY-$MONTH".txt ` # sed-konformes Umformen der Infos, escapen von Sonderzeichen arg=` echo "$DELETE" | sed 's:[]\[\^\$\.\*\/]:\\\\&:g' ` # Löschen des Crontabs aus der Doublette sed -ie '/^'"$arg"'$/ d' $VERZ/Doublette.txt # Hochladen der verbleibenden Crontab-Einträge crontab $VERZ/Doublette.txt # Löschen der Info-Datei rm $VERZ/"$TITEL-$MINUTE-$HOUR-$DAY-$MONTH".txt exit |
verbesserte Version