LinHES Forums http://forums.linhes.org/ |
|
Script to solve Mythtranscode 232 errors http://forums.linhes.org/viewtopic.php?f=24&t=21172 |
Page 1 of 1 |
Author: | bruce_s01 [ Sat Jun 26, 2010 7:23 am ] |
Post subject: | Script to solve Mythtranscode 232 errors |
On some recent recordings, on trying to transcode to "top and tail" the recordings, mythtranscode would generate an error (232) and in the logfiles would have something like: Code: Deadlock detected One buffer is full when the other is empty! Aborting Doing a search resulted in this page here. So from this, I created this script: Code: #!/bin/bash
# to fix mythtranscode error 232 files USAGE="Usage: `basename $0` [-v] [-h] -f filename" VERBOSE=false OUTPUTDEV="/dev/null" TEST=false ID=false PARAMETER=" " while getopts f:vh OPTION ; do case "$OPTION" in f)SOURCEFILE="$OPTARG" ;; v)VERBOSE=true ;; h)echo "$USAGE" ; exit 1 ;; esac done #Now we have arguments and options, we now need to check #what parameters have been passed and do we need to process them #Very little preprocessing for input filename, should really put in some file name #sanity checking TEMPNAME=${SOURCEFILE%.mpg} #Add the extensions and the temporary file name part SOURCENAME=${TEMPNAME}.mpg TEMPFILENAME=${TEMPNAME}.tmp.mpg if [ "$VERBOSE" = true ] ; then echo "SOURCEfile = $SOURCENAME" echo "TEMPfile = $TEMPFILENAME" fi if [ ! -e "$SOURCENAME" ] ; then #Check for the existence of the input file echo "$SOURCENAME not found." exit 1 fi ffmpeg -i "$SOURCENAME" -acodec copy -vcodec copy "$TEMPFILENAME" if [ $? -ne 0 ] then #either ran out of space or file too damaged. echo "Demux failed!" exit 1 fi if [ "$VERBOSE" = true ] ; then mv -vf "$TEMPFILENAME" "$SOURCENAME" else mv -f "$TEMPFILENAME" "$SOURCENAME" fi if [ $? -ne 0 ] then #check that move completed echo "File Moved failed!" exit 1 else echo "Move OK" fi mythtranscode --mpeg2 --buildindex --allkeys --showprogress --infile "$SOURCENAME" if [ $? -ne 0 ] then #check that move completed echo "Build Index failed!" exit 1 else echo "Build Index OK" fi exit 0 The sequence I found useful is: Remove cut points Run the fix232 script Edit the file, put the cut points back in Transcode to remove the unwanted bits of the file Transcode again, as the previous transcode does not seem to rebuild the frame index correctly. The script is invoked by fix232.sh -f <filename> for example /home/mythtv/bin/fix232 -f 1002_20100626190000.mpg Script is is to be used at owners risk, no responsibility for any data loss is accepted. Bruce S. |
Page 1 of 1 | All times are UTC - 6 hours |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |