diff options
Diffstat (limited to 'encode-libvlc.sh')
| -rwxr-xr-x | encode-libvlc.sh | 116 | 
1 files changed, 0 insertions, 116 deletions
| diff --git a/encode-libvlc.sh b/encode-libvlc.sh deleted file mode 100755 index 361a743..0000000 --- a/encode-libvlc.sh +++ /dev/null @@ -1,116 +0,0 @@ -#!/bin/bash -# -# Encode programme using libVLC input from -# dabplus-enc or toolame -# -# monitor processes, and restart if necessary -# Optionally send an email when restart happens - -printerr() { -    echo -e "\033[01;31m$1\033[0m" -    logger -p local0.error -t "$ID" "$1" -} - -printmsg() { -    echo -e "\033[01;32m$1\033[0m" -    logger -p local0.notice -t "$ID" "$1" -} - -set -u - -# check number of arguments -if [[ "$#" -lt 3 ]] ; then -    echo "Usage $0 url id destination [encoder]" -    echo "Encoder shall be 'dabplus-enc' or 'toolame'" -    exit 1 -fi - -URL=$1 -ID=$2 -DST=$3 - -if [[ "$#" -gt 3 ]] ; then -    ENC=$4 -else -    ENC="dabplus-enc" -fi - -if [[ "$#" -gt 4 ]]; then -    shift 4 -    OPTIONS=$@ -else -   if [[ "$ENC" == "dabplus-enc" ]]; then -       OPTIONS="-b 80 -r 32000" -   else -       OPTIONS="-b 128 -s 48 -L" -   fi -fi - -running=1 - -encoderpid=0 - -# The trap for Ctrl-C -sigint_trap() { -    printerr "Got Ctrl-C, killing mplayer and encoder" -    running=0 - -    if [[ "$encoderpid" != "0" ]] ; then -        kill -TERM $encoderpid -        sleep 2 -        kill -KILL $encoderpid -    fi - -    printmsg "quitting" -    exit -} - -trap sigint_trap SIGTERM -trap sigint_trap SIGINT - -while [[ "$running" == "1" ]] -do - -    printmsg "Launching encoder" -    if [[ "$ENC" == "dabplus-enc" ]] ; then -        dabplus-enc -v "$URL" $OPTIONS -o "$DST" -l & -        encoderpid=$! -    elif [[ "$ENC" == "toolame" ]] ; then -        toolame $OPTIONS -V "$URL" "$DST" & -        encoderpid=$! -    fi -    printerr "Detected crash of encoder!" - -    sleep 5 - -    checkloop=1 -    while [[ "$checkloop" == "1" ]] -    do -        sleep 2 - -        kill -s 0 $encoderpid -        if [[ "$?" != "0" ]] ; then -            printerr "the encoder died" - -            encoderpid=0 -            checkloop=0 -        fi -    done - -    MAILTO=$(cat site/mail-warning.txt) - -    if [[ "$MAILTO" != "" ]] ; then -        NOW=$(date) - -        mail -s "Encoder $ID restart $URL" "$MAILTO" << EOF -The encoder id:$ID -encoding $URL -> $DST using encode-libvlc was restarted at -$NOW - -EOF - -    fi -    sleep 5 - -done - | 
