Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- # First does a lossless MPEG-2(honorcutlist) transcode removing commericals(cutlist must be manually made before
- # hand), then rebuilds the seek table. It then uses handbrakecli to transcode the mpg to a m4a(H264, AAC).
- #
- # Loosely based on mythtv-transcode-h264 version 0.8 by Defcronyke Webmaster.
- #
- # Arguments
- # $1 must be the directory/file to be transcoded.
- # $2 must be the output directory / file name. The directory must be writeable by the mythtv user
- # $3 must be chanid
- # $4 must be starttime
- # the full userjob command in mythtv-setup should look like this:
- #
- # Format for TV:
- # /usr/bin/mythtv-transcode-mkv.sh "%DIR%/%FILE%" "/media/Store/incoming/TV/%TITLE% - S%SEASON%E%EPISODE% - %SUBTITLE%.m4v" "%CHANID%" "%STARTTIMEUTC%"
- #
- # Format for MOVIES:
- # /usr/bin/mythtv-transcode-mkv.sh "%DIR%/%FILE%" "/media/Store/incoming/Movies/%TITLE%.m4v" "%CHANID%" "%STARTTIMEUTC%"
- #
- #
- # MythTV Install Prefix (make sure this matches with the directory where MythTV is installed)
- #
- INSTALLPREFIX="/usr/bin"
- # don't change these
- #
- MYPID=$$
- DIRNAME=`dirname "$1"`
- DIRNAME2=`dirname "$2"`
- BASENAME=`echo "$2" | awk -F/ '{print $NF}' | sed 's/://g' | sed 's/?//g' | sed 's/\?//g' | sed 's/*//g' | sed 's/!//g' | sed s/"'"/""/g`
- CHAN="$3"
- START="$4"
- #Get mythtv database information
- #
- DBSERVER=""
- DBUSER=""
- DBNAME=""
- DBPASS=""
- #Try getting mythtv database information from existent files in the following order
- #
- MYTHCONFIGFILE="/etc/mythtv/config.xml"
- MYCONFIGFILE="/home/mythtv/.mythtv/config.xml"
- if [ -f "$MYTHCONFIGFILE" ]; then
- DBSERVER="$( grep -E -m 1 -o "<DBHostName>(.*)</DBHostName>" $MYTHCONFIGFILE | sed -e 's,.*<DBHostName>\([^<]*\)</DBHostName>.*,\1,g' )"
- DBUSER="$( grep -E -m 1 -o "<DBUserName>(.*)</DBUserName>" $MYTHCONFIGFILE | sed -e 's,.*<DBUserName>\([^<]*\)</DBUserName>.*,\1,g' )"
- DBNAME="$( grep -E -m 1 -o "<DBName>(.*)</DBName>" $MYTHCONFIGFILE | sed -e 's,.*<DBName>\([^<]*\)</DBName>.*,\1,g' )"
- DBPASS="$( grep -E -m 1 -o "<DBPassword>(.*)</DBPassword>" $MYTHCONFIGFILE | sed -e 's,.*<DBPassword>\([^<]*\)</DBPassword>.*,\1,g' )"
- elif [ -f "$MYCONFIGFILE" ]; then
- DBSERVER="$( grep -E -m 1 -o "<Host>(.*)</Host>" $MYCONFIGFILE | sed -e 's,.*<Host>\([^<]*\)</Host>.*,\1,g' )"
- DBUSER="$( grep -E -m 1 -o "<UserName>(.*)</UserName>" $MYCONFIGFILE | sed -e 's,.*<UserName>\([^<]*\)</UserName>.*,\1,g' )"
- DBNAME="$( grep -E -m 1 -o "<DatabaseName>(.*)</DatabaseName>" $MYCONFIGFILE | sed -e 's,.*<DatabaseName>\([^<]*\)</DatabaseName>.*,\1,g' )"
- DBPASS="$( grep -E -m 1 -o "<Password>(.*)</Password>" $MYCONFIGFILE | sed -e 's,.*<Password>\([^<]*\)</Password>.*,\1,g' )"
- fi
- # play nice with other processes
- #
- renice 19 $MYPID
- ionice -c 3 -p $MYPID
- # remove commercials and rebuild index
- #
- $INSTALLPREFIX/mythtranscode --chanid "$3" --starttime "$4" -m --honorcutlist -p autodetect
- # Rebuild Index
- #
- $INSTALLPREFIX/mythcommflag --file "$1" --rebuild
- # Handbrake
- #
- $INSTALLPREFIX/HandBrakeCLI -i "$1".tmp -o "$DIRNAME2/$BASENAME" --preset="Android Tablet"
- # Delete the TEMPORARY commercial edited file
- cd $DIRNAME
- rm "$1".tmp
Advertisement
Add Comment
Please, Sign In to add comment