Ich hatte mir eine eigne mplayer.sh geschrieben um Xine stat des Mplayers zu verwenden. Weiter kilt es den Xine der der vorher zur wiedergabe des VDR dient und statet ihn anschliesend wieder. Nun gefiel mir die Video quallität nicht besonders. Ich möchte dennoch Xine für die wiedergabe von DVD und Dvd imeges verwenden. Daher habe ich die Original mplayer.sh einfach modifizirt. Funktonirt igentlich auch. Aber leider nur auf der Konsole. Wenn ich meine mplayer.sh aus dem VDR aufrufe wierd zwar das Vidoe oder die DVD wie gewünscht wieder gegeben doch kommt bricht das skript nach dem benden des Players ab und es wird nicht mehr der Xine zur wiedergabe des VDR aufgerufen.
Hier der modifizirte Teil der mplayer.sh
# begin main!
#
#
# ---------------------------------------------------------------------------
#
#
declare -i ORIG_X ORIG_Y
declare -i NEW_X NEW_Y
declare -i HALF_Y FULL_Y
declare ORIG_FPS NEW_FPS ORIG_ASPECT VIDEO_FORMAT AUDIO_CODEC
declare CMDLINE AOUT REMOTE USERDEF SUFFIX
declare FILE="$1"
declare SLAVE="$2"
declare -a XResPAL[0]
declare -a XResNTSC[0]
declare FDSTR=""
declare SUBTITLES=""
declare DETC=""
declare XINE="/usr/local/xine-ui-cvs/bin/xine"
declare CDMOUNT="/mnt/imge/"
echolog "*** Starting mplayer.sh Version $VERSION"
if test -z "$FILE"; then echolog "*** USAGE: mplayer.sh <File_to_be_played>"; exit; fi
if ! test -r "$FILE"; then echolog "*** ERROR: Make sure $FILE exists and is readable - otherwise it cannot be played ;-)"; exit; fi
# Check if config file exists!
declare CFGFIL="/etc/vdr/mplayer.sh.conf"
debugvar CFGFIL $CFGFIL
if ! test -f $CFGFIL; then echolog "*** FATAL: mplayer.sh.conf not found!!! Exiting." ; exit; fi
# read config file and initialize the variables
initialize
if test \( "$FILE" == "$DVDFiles/DVD" -o "$FILE" == "$DVDFiles/VCD" \) -a -n "$DVDFiles" -a -n "$DVD"; then
if test "$FILE" == "$DVDFiles/DVD"; then
cp /etc/vdr/plugins/.lircrc ~/
CMDLINE="$XINE dvd://"
fi
if test "$FILE" == "$DVDFiles/VCD"; then
CMDLINE="$MPLAYER -vo $VO $AOUT $VCDOPTIONS $FDSTR $CACHESTR $REMOTE $USERDEF -cdrom-device $DVD vcd://"
fi
unset FILE
elif test "${SUFFIX}" == ".cue"; then
if $MPLAYER_V1; then
CMDLINE="$MPLAYER -vo $VO $AOUT $FDSTR $CACHESTR $REMOTE $USERDEF cue://$FILE:2"
unset FILE
else
CMDLINE="$MPLAYER -vo $VO $AOUT $FDSTR $CACHESTR $REMOTE $USERDEF -vcd 2 -cuefile"
fi
elif test "${FILE:${#FILE}-4}" == ".iso"; then
mount -o loop $FILE -t iso9660 $CDMOUNT
if ls $CDMOUNT/VIDEO_TS; then
cp /etc/vdr/plugins/.lircrc ~/
CMDLINE="$XINE $CDMOUNT/VIDEO_TS/ "
unset FILE
elif ls $CDMOUNT/video_ts; then
cp /etc/vdr/plugins/.lircrc ~/
CMDLINE="$XINE $CDMOUNT/video_ts/ "
unset FILE
fi
.... hir gekürzt ....
debugvar CMDLINE "$CMDLINE"
killall xine
$CMDLINE "$FILE"
rm ~/.lircrc
if mount | grep $CDMOUNT; then
umount $CDMOUNT
fi
/usr/local/xine-ui-cvs/bin/xine -n vdr:/tmp/vdr-xine/stream#demux:mpeg_pes >/dev/null 2>&1 &
exit
Alles anzeigen
Und wenn ich das ganze auf der Console ausfüre habe ich das als letzt Zeile
Mein anderes Skript verhält sich da aber auch nicht anders. Nur das wenn ich das aus dem VDR er herraus aufrufe klapt alles.