ggrab-script zumstreamen

Digital Recording
compi
Interessierter
Interessierter
Beiträge: 40
Registriert: Samstag 7. Dezember 2002, 22:55

ggrab-script zumstreamen

Beitrag von compi »

fals es jemand braucht ein Script zu streamen von der D-Box2
(Neutrino 1.9xx) und (ggrab-0.22x)



#!/bin/bash
#
######################################################################################################################
# bitte anpassen !!
######################################################################################################################

Pfad="/share/filme/ggrab/" # muß angepasst werden! Pfad zu den gestreamten Filmen
IP="192.168.0.5" # muß angepasst werden! IP der d-boxII
GRAB=`which /home/compi/Documents/ggrab-0.22a/ggrab` # muß angepasst werden! Pfad zum ggrab Proggi
HTTPCLIENT="`which wget` -O -" # muß angepasst werden! Client zum auslesen der Infos
Streamdat="-udp 30000" # muß angepasst werden! wenn kein UDP Stream erwünscht
# bitte alles zwischen "..." löschen

######################################################################################################################
# bitte anpassen #ENDE#
######################################################################################################################
###
######################################################################################################################
# Willkommens Bildschirm !!
######################################################################################################################

clear
echo ""
echo "*******************************************************************************"
echo "ggrabscript zum streamen von der dbox2 > NEUTRINO min 1.6.9 und ggrab min 0.22a"
echo "es wird mit [UPD] gestreamt wenn das nicht erwünscht Zeile 11 ändern"
echo "-------------------------------------------------------------------------------"
echo "incl. AC3. Als erstes wird die Länge dann der Name und dann die Audiooption"
echo "des Streams abgefragt"
echo "-------------------------------------------------------------------------------"
echo "Alle Optionen mit Enter bestätigen ! Wenn keine Eingabe vorgenommen wird,"
echo "wird default"
echo "eingestellt"
echo "*******************************************************************************"
echo ""

######################################################################################################################
# Willkommens Bildschirm #ENDE#
######################################################################################################################
##
######################################################################################################################
# alle ZEIT Funktionen !!
######################################################################################################################

echo "*******************************************************"
echo "Wie lange soll gestreamt werden??"
echo "Bitte die Zeit in !GANZEN! Minuten angeben"
echo "default sind 24 Stunden = 1440 Minuten eingestellt"
echo "bitte nur Ganze Zahlen eingeben"
echo "weil sonst das Script beendet wird"
echo "*******************************************************"
echo ""

read -p "Zeit in min:" time
echo ""

if [ -z $time ]
then
echo "keine Eingabe"
echo "es werden 24 Stunden = 1440 Minuten eingestellt"
time=1440

elif [ $time -ge 2880 ]
then
echo "2Tage und länger hält die Platte nicht aus"
echo "es wird 24 Stunden eingestellt"
time=1440

elif [ $time -le 0 ]
then
echo "Fehleinagabe"
echo "es wird 24 Stunden eingestellt"
time=1440

fi

######################################################################################################################
# alle ZEIT Funktionen #Ende#
######################################################################################################################
##
######################################################################################################################
# alle Namensfunktionen !!
######################################################################################################################

echo "*******************************************************"
echo "Wie soll der Stream heissen"
echo "wenn Direkt Kanal bitte den Name eingeben"
echo "wenn anderer Kanal kann Name optional"
echo "vergeben werden"
echo "wenn kein NAME eingegeben wird dann ist"
echo "default der EPG Name"
echo "*******************************************************"
echo ""
read -p "Bitte NAME eingeben: " name
echo ""

if [ -z $name ]
then
echo "kein NAME eingegeben"
echo "es wird default eingestellt"
ONIDSID=`$HTTPCLIENT http://$IP/control/getonidsid 2> /dev/null`
name=`$HTTPCLIENT http://$IP/control/epg 2> /dev/null | grep $ONIDSID | sed s/^[0-9]*.[0-9]*.//g`
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
echo "$name"
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"

elif [ -n $name ]
then
echo "NAME"
echo "$name"
echo "wird übernommen"

fi

######################################################################################################################
# alle Namesfunktionen #ENDE#
######################################################################################################################
##
######################################################################################################################
# alle AUDIO Funktionen !!
######################################################################################################################

######################################################################################################################
# alle Parameter !!
######################################################################################################################

function APID_VPID ()
{
VPID=`$HTTPCLIENT http://$IP/control/zapto?getpids 2> /dev/null | sed -n '1p'`
VPID=`echo "obase=16;ibase=10; $VPID;" | bc`
APID=`$HTTPCLIENT http://$IP/control/zapto?getpids 2> /dev/null | sed -n '2p'`
APID=`echo "obase=16;ibase=10; $APID;" | bc`
APID3=`echo "$APID+3" | bc`
}

######################################################################################################################
# alle Parameter ENDE
######################################################################################################################

#######################################################################################################################
#automatische Audiooption !!
#######################################################################################################################

function automatic_AUDIO ()
{

APID_VPID
echo ""
echo "*******************************************************"
echo "EPG-Title: $name"
echo "VideoPID: $VPID"
echo "AudioPID: $APID"
echo "AudioPID3: $APID3"
echo "*******************************************************"
echo ""
$GRAB $Streamdat -host $IP -p $VPID $APID $APID3 -m $time -o $Pfad"$name " $*
# automatisch Audioauswahl es wird mit AC3 und 2.0 Stero gestreamt
EXIT_CODE=$?

if [ $EXIT_CODE -eq 1 ]
then
echo ""
echo " -keine AC3 Unterstützung- "
echo "schalte auf normales 2.0 Stereo um"
echo ""
echo "*******************************************************"
echo "EPG-Title: $name"
echo "VideoPID: $VPID"
echo "AudioPID: $APID"
echo "*******************************************************"
echo ""
$GRAB $Streamdat -host $IP -p $VPID $APID -m $time -o $Pfad"$name " $*
# automatisch Audioauswahl es wird mit 2.0
echo ""
echo "ENDE des Streams!!"
echo ""

else
echo ""
echo "ups hä???????? "
echo "keine Ahnung"

fi
}

######################################################################################################################
#automatische Audiooption #ENDE#
######################################################################################################################

######################################################################################################################
# manuelle Audiooption
######################################################################################################################
function manuell_AUDIO ()
{

# nach Fehleingabe Neuversuch ja / nein
Anzahl=0
function nochmal ()
{
nochmal=$1
Anzahl=$2
if [ $nochmal = j ]
then
zaehle $Anzahl

else
echo ""
echo "Das Script wird beendet ! "
echo ""

fi
}

# zähle Eingabeversuche und beende bei 3
function zaehle()
{
Anzahl=$1
let Anzahl=$Anzahl+1

if [ $Anzahl -eq 3 ]
then
echo ""
echo "3 mal Fehleingabe"
echo "Das Script wird beendet ! "
echo ""

else
waehle

fi
}

# manuelle Audiooptionsabfrage
function waehle()
{
echo ""
echo "*******************************************************"
echo "manuelle Audioauswahl:"
echo "(1)=2.0 Stereo"
echo "(2)=5.1 Stereo wenn ausgestrahlt"
echo "(3)=2.0 und 5.1 Stereo wenn ausgestrahlt"
echo "*******************************************************"
echo ""
read -p "Audiooption: " man
echo ""

case "$man" in
1) APID_VPID
echo ""
echo "*******************************************************";
echo "EPG-Title: $name";
echo "VideoPID: $VPID";
echo "AudioPID: $APID";
echo "*******************************************************";
echo "";
$GRAB $Streamdat -host $IP -p $VPID $APID -m $time -o $Pfad"$name " $*;
echo "ENDE des Streams";;

2) APID_VPID
echo ""
echo "*******************************************************";
echo "EPG-Title: $name";
echo "VideoPID: $VPID";
echo "Ac3 Sound: $APID3";
echo "*******************************************************";
echo "";
$GRAB $Streamdat -host $IP -p $VPID $APID3 -m $time -o $Pfad"$name " $*;
echo "ENDE des Streams";
echo "es wird kein AC3 ausgestrahlt";;

3) APID_VPID
echo ""
echo "*******************************************************";
echo "EPG-Title: $name";
echo "VideoPID: $VPID";
echo "AudioPID: $APID";
echo "Ac3 Sound: $APID3";
echo "*******************************************************";
echo "";
$GRAB $Streamdat -host $IP -p $VPID $APID $APID3 -m $time -o $Pfad"$name " $*;
echo "ENDE des Streams";
echo "es wird kein AC3 ausgestrahlt";;

*) echo ""
echo "Falsche Eingabe";
echo "";
read -p "Noch einen Eingabeversuch j/n : " fehler;
echo ""
nochmal $fehler $Anzahl;;
esac
}
waehle
}
#######################################################################################################################
# manuelle Audiooption ENDE
#######################################################################################################################

#######################################################################################################################
# lese Audiooptionen ein !!
#######################################################################################################################

echo ""
echo "*******************************************************"
echo "Bitte wähle ob automatisch nach den Audiooptionen"
echo "gesucht werden soll oder nicht."
echo "wenn keine Eingabe erfolgt"
echo "dann manuelle Audiooption"
echo "(a) für automatische Audioauswahl"
echo "(m) für manuelle Audioauswahl(immer schneller)"
echo "bei automatischer Audioauswahl wird versucht"
echo "erst 5.1 Stereo und dann 2.0 Stereo"
echo "*******************************************************"
echo ""

# lese Audiooption ein und übergebe an Fuktion
read -p "Audiooption: " aom

if [ -z $aom ]
then
manuell_AUDIO

elif [ $aom = a ]
then
automatic_AUDIO

else
manuell_AUDIO

fi
#######################################################################################################################
# lese Audiooptionen ein #ENDE#
#######################################################################################################################
##
#######################################################################################################################
# alle AUDIO Funktionen #Ende#
#######################################################################################################################

######################################################################################################################
# GRUß COMPI
######################################################################################################################