#!/bin/bash # # Andreas Saur - http://mms.mymediasystem.net - 2nd Aug. 2008 # This script starts an additional demuxer for mpeg transport # stream formatted video files (TS,MTS,M2TS). The extension of # the file must be at the last position and must be called like # one of the extension in the egrep brackets. (Extend it if needed) # Update /etc/mms/Mplayerconfig parameter mplayer_path with this # file name here. # OSD_LEVEL=3 export DEFAULT_OPTS="-cache 65536 -menu -fs -subfont-osd-scale $OSD_LEVEL" export __XV_SYNC_TO_VBLANK=1 export __GL_SYNC_TO_VBLANK=1 export __GL_SYNC_DISPLAY_DEVICE="DFP-0" export __XV_SYNC_DISPLAY_DEVICE="DFP-0" echo PARAMETER=[[["${@}"]]] # streams HTTPX=$(echo "${@}" | awk ' { print substr($0, index($0,"http://" ) ) }') echo HTTPX=$HTTPX if [ $HTTPX ]; then /usr/bin/mplayer "${@}" exit fi FILENAME=$(echo "${@}" | awk ' { print substr($0, index($0,"/" ) ) }') IFS_SAVE=$IFS IFS="" FILENAME_PATH=$(dirname "$FILENAME" ) # Automatic subtitle selection for Seasons and Episodes a la S01E01 or 1x01 SUBTITLE=$( ls $FILENAME_PATH/*$( echo $FILENAME | sed 's/^\(.*\)\([0-9][XxEe]\)\([0-9]\{2,2\}\)\(.*\)$/\3/' )*.srt ) echo FILENAME=$FILENAME echo SUBTITLE=$SUBTITLE IFS=$IFS_SAVE FN_EXT=$( echo $FILENAME | awk -F"." ' { print $NF }' ) VIDEO_CODEC=$( /usr/local/bin/midentify "$FILENAME" | egrep VIDEO_CODEC | awk -F"=" '{ print $NF }' ) echo MIDENTIFA=$( /usr/local/bin/midentify \""$FILENAME"\" | egrep VIDEO_CODEC | awk -F"=" '{ print $NF }' ) if [ "$VIDEO_CODEC" == "" ]; then if [ "$FN_EXT" == "mts" ] && [ "$VIDEO_CODEC" == "" ]; then OPT="-vo vdpau -vc ffh264vdpau -fps 50 -osdlevel $OSD_LEVEL" OPT_FAIL_SAVE="-fps 50 -osdlevel $OSD_LEVEL" fi elif [ "$VIDEO_CODEC" == "ffh264" ]; then OPT="-vo vdpau -vc ffh264vdpau -osdlevel 1" elif [ "$VIDEO_CODEC" == "ffvc1" ]; then OPT="-vo vdpau -vc ffvc1vdpau -osdlevel 1" elif [ "$VIDEO_CODEC" == "ffwmv3" ]; then OPT="-vo vdpau -vc ffwmv3vdpau -osdlevel 1" elif [ "$VIDEO_CODEC" == "mpegpes" ]; then OPT="-vo vdpau -vc ffmpeg12vdpau -osdlevel $OSD_LEVEL" OPT_FAIL_SAVE="-osdlevel $OSD_LEVEL" else OPT="-vo xv -osdlevel 1" fi echo \$VIDEO_CODEC=$VIDEO_CODEC echo \$FILENAME=$FILENAME echo \$OPT=$OPT echo \$FN_EXT=$FN_EXT if [ -f "$SUBTITLE" ]; then echo /usr/bin/mplayer "$FILENAME" $OPT $DEFAULT_OPTS -sub "$SUBTITLE" > /tmp/mplayer-vdpau.out echo "#######################################################" >> /tmp/mplayer-vdpau.out /usr/bin/mplayer "$FILENAME" $OPT $DEFAULT_OPTS -sub "$SUBTITLE" 2>&1 >> /tmp/mplayer-vdpau.out else echo /usr/bin/mplayer "$FILENAME" $OPT $DEFAULT_OPTS > /tmp/mplayer-vdpau.out echo "#######################################################" >> /tmp/mplayer-vdpau.out /usr/bin/mplayer "$FILENAME" $OPT $DEFAULT_OPTS 2>&1 >> /tmp/mplayer-vdpau.out fi #/usr/bin/mplayer $FILENAME $OPT_FAIL_SAVE -vo xv -lavdopts threads=4:fast:skiploopfilter=all -ao sdl -fs -cache 8192 -vf pp=fd