---------- Forwarded message ----------
From: Michael Pavletich <[email protected]>
Date: Wed, Feb 11, 2009 at 11:42 PM
Subject: Re: Bug#514456: imagemagick: Encoding photos to slideshow very slow
To: Bastien ROUCARIES <[email protected]>


OK, thanks for that, I didn't know about the debugging shell.

Please see the attached txt file. I had to run it through 2x to get
the results, but I changed the duration and transition times and
limited it to a single image, so please take that into consideration
should you need to.

First run gave me the ending section, I interrupted the second run to
get the initial section, then I combined the 2 so you can see the
start and the finish without all the repetitive stuff in the middle as
each frame was processed.

Mike P
mich...@mikepav:~/Pictures/Toy_Library/Sand&Water$ sh -x /usr/bin/images2mpg -f 
DVD -n PAL -S 420mpeg2 -d 2 -t 2 -c 000000 -o test.avi -i ./*.jpg               
                   + trap CleanUp 2
+ VIDEO_FORMAT=XVCD
+ VIDEO_TYPE=PAL
+ PPMTOY4M_CHROMA_OPT='-S 420mpeg2'
+ VERBOSE=0
+ IMAGEDURATION=10
+ TRANSITIONENABLE=0
+ TRANSITIONDURATION=0
+ TEMPORARYFOLDER=
+ IMBINFOLDER=/usr/bin
+ MJPEGTBINFOLDER=/usr/bin
+ WITHGUI=0
+ CPT_IMG_FILE=0
+ '[' 16 == 0 ']'
+ test 16 -gt 0
+ OPTIONMESSAGE=-f
+ case $1 in
+ shift
+ '[' -z DVD ']'
+ VIDEO_FORMAT=DVD
+ shift
+ test 14 -gt 0
+ OPTIONMESSAGE=-n
+ case $1 in
+ shift
+ '[' -z PAL ']'
+ VIDEO_TYPE=PAL
+ shift
+ test 12 -gt 0
+ OPTIONMESSAGE=-S
+ case $1 in
+ shift
+ '[' -z 420mpeg2 ']'
+ PPMTOY4M_CHROMA_OPT='-S 420mpeg2'
+ shift
+ test 10 -gt 0
+ OPTIONMESSAGE=-d
+ case $1 in
+ shift
+ '[' -z 2 ']'
+ IMAGEDURATION=2
+ '[' 0 = 1 ']'
+ shift
+ test 8 -gt 0
+ OPTIONMESSAGE=-t
+ case $1 in
+ shift
+ '[' -z 2 ']'
+ '[' 1 = 1 ']'
+ DISSOLVEVALUEINC=2
+ TRANSITIONENABLE=1
+ shift
+ test 6 -gt 0
+ OPTIONMESSAGE=-c
+ case $1 in
+ shift
+ '[' -z 000000 ']'
+ BACKGROUNDCOLOR=000000
+ shift
+ test 4 -gt 0
+ OPTIONMESSAGE=-o
+ case $1 in
+ OLD_IFS='
'
+ IFS='"'
+ shift
+ '[' -z test.avi ']'
+ OUTPUT_MPEG_FILE=test.avi
+ IFS='
'
+ shift
+ test 2 -gt 0
+ OPTIONMESSAGE=-i
+ case $1 in
+ OLD_IFS='
'
+ IFS='"'
+ shift
+ '[' ./SW006_Little_Tikes_Water_Slide.jpg ']'
+ INPUT_IMAGE_FILES[CPT_IMG_FILE]=./SW006_Little_Tikes_Water_Slide.jpg
++ echo 1
+ CPT_IMG_FILE=1
+ shift
+ '[' ']'
+ IFS='
'
+ shift
+ test 0 -gt 0
+ '[' 0 = 1 ']'
+ '[' -z /usr/bin ']'
+ MONTAGE_BIN=/usr/bin/montage
+ COMPOSITE_BIN=/usr/bin/composite
+ CONVERT_BIN=/usr/bin/convert
+ IDENTIFY_BIN=/usr/bin/identify
+ '[' '!' -e /usr/bin/montage ']'
+ '[' '!' -e /usr/bin/composite ']'
+ '[' '!' -e /usr/bin/convert ']'
+ '[' '!' -e /usr/bin/identify ']'
+ '[' -z /usr/bin ']'
+ PPMTOY4M_BIN=/usr/bin/ppmtoy4m
+ YUVSCALER_BIN=/usr/bin/yuvscaler
+ MPEG2ENC_BIN=/usr/bin/mpeg2enc
+ MP2ENC_BIN=/usr/bin/mp2enc
+ OGG_BIN=/usr/bin/ogg123
+ MP3_BIN=/usr/bin/mpg123
+ MPLEX_BIN=/usr/bin/mplex
+ '[' '!' -e /usr/bin/ppmtoy4m ']'
+ '[' '!' -e /usr/bin/yuvscaler ']'
+ '[' '!' -e /usr/bin/mpeg2enc ']'
+ '[' '!' -e /usr/bin/mp2enc ']'
+ '[' '!' -e /usr/bin/ogg123 ']'
+ '[' '!' -e /usr/bin/mpg123 ']'
+ '[' '!' -e /usr/bin/mplex ']'
+ '[' 1 = 0 ']'
+ '[' 0 = 0 ']'
+ echo -e ------------------------------------------------
------------------------------------------------
+ echo -e '\nNumber of image file(s)       :  1.'

Number of image file(s)       :  1.
+ echo -e 'Processing sequence :'
Processing sequence :
+ CPT=1
+ test 1 -gt 0
++ echo 0
+ INPUT_FILE_NAME=./SW006_Little_Tikes_Water_Slide.jpg
+ '[' 0 = 0 ']'
+ echo -e ./SW006_Little_Tikes_Water_Slide.jpg
./SW006_Little_Tikes_Water_Slide.jpg
+ '[' -s ./SW006_Little_Tikes_Water_Slide.jpg ']'
++ echo 0
+ CPT=0
+ test 0 -gt 0
++ date +%s
+ DATE_DEBUT=1234391383
+ '[' -z '' ']'
+ TMPFILENAME=1234391383
+ case $VIDEO_TYPE in
+ VIDEO_TYPE_LETTER=p
+ IMAGES_SEC=25
+ IMAGES_SEC_FORMAT=25:1
+ case $VIDEO_FORMAT in
+ VIDEO_FORMAT_NUMBER=8
+ '[' PAL = NTSC ']'
+ VIDEO_FORMAT=SIZE_720x576
+ BIT_RATE=8000
+ BUFFER_SIZE=230
+ VIDEOFORMAT_MESSAGE=DVD
+ AUDIO_WAVE_CONVERSION='-b 224 -r 48000 -s'
+ case $VERBOSE in
+ VERBOSITY=none
+ '[' -z '' ']'
+ '[' -z 000000 ']'
+ MASK=1234391383.black.tmp.png
++ /usr/bin/convert xc:#000000 -resize '768x576!' 1234391383.black.tmp.png
+ RET=
++ echo 50
+ NBFRAMEIMAGE=50
+ '[' 1 = 1 ']'
++ echo 50
+ NBFRAMETRANSITION=50
++ echo 2
+ TRANSITIONDURATION=2
++ echo 150
+ NBFRAMETOTAL=150
++ echo 6
+ TOTALDURATION=6
+ WARNINGTOTALDURATION=
+ '[' 0 = 1 ']'
+ '[' 0 = 0 ']'
+ echo -e 'Video format                  : '\''DVD'\''.'
Video format                  : 'DVD'.
+ echo -e 'Video type                    : '\''PAL'\''.'
Video type                    : 'PAL'.
+ '[' '' ']'
+ '[' '' ']'
+ echo -e 'Frames per second             : '\''25'\''.'
Frames per second             : '25'.
+ echo -e 'Image duration                :  2 s.'
Image duration                :  2 s.
+ echo -e 'Total video sequence duration :  6 s .'
Total video sequence duration :  6 s .
+ '[' 1 = 1 ']'
+ echo -e 'Transition frames             :  50.'
Transition frames             :  50.
+ echo -e 'Total frames processing       :  150.'
Total frames processing       :  150.
+ echo -e 'Background image file         : '\''1234391383.black.tmp.png'\''.'
Background image file         : '1234391383.black.tmp.png'.
+ echo -e 'Verbosity                     : '\''none'\''.\n'
Verbosity                     : 'none'.

+ echo -e ------------------------------------------------
------------------------------------------------
+ '[' 0 = 0 ']'
+ echo -e 'Encoding 1 image(s) MPEG sequence with ImageMagick and MjpegTools.\n'
Encoding 1 image(s) MPEG sequence with ImageMagick and MjpegTools.

+ CPT=0
+ CPF=1
+ CPD=0
+ DISSOLVEVALUE=99
+ '[' 1 = 1 ']'
+ /usr/bin/convert -type TrueColor -quality 100 1234391383.black.tmp.png 
1234391383.prev_trans.tmp.pnm
+ INPUT_IMAGE_FILES[`echo $(($CPT_IMG_FILE))`]=1234391383.black.tmp.png
++ echo 1
++ echo 2
+ CPT_IMG_FILE=2
+ test 0 -lt 150
++ echo 1
+ /usr/bin/ppmtoy4m -v 0 -n 150 -F 25:1 -S 420mpeg2
+ /usr/bin/yuvscaler -v 0 -n p -O SIZE_720x576
+ CPT=1
+ '[' 0 = 0 ']'
+ echo -ne 'Frame Num. 1 / 150      \r'
+ '[' 1 = 0 ']'150
++ echo 0
+ /usr/bin/mpeg2enc -v 0 -n p -b 8000 -V 230 -f 8 -o 1234391383.tmp.m2v
   INFO: [yuvscaler] yuvscaler 1.8.0 (15-02-2004) is a general scaling utility 
for yuv frames
   INFO: [yuvscaler] (C) 2001-2004 Xavier Biquard <[email protected]>, yuvscaler 
-h for help, or man yuvscaler
+ '[' 1 = 1 ']'
++ echo 50
+ '[' 1 = 1 ']'
+ '[' 99 = 99 ']'
++ echo 0
+ /usr/bin/montage -type TrueColor -quality 100 -geometry 768x576 -texture 
1234391383.black.tmp.png ./SW006_Little_Tikes_Water_Slide.jpg 1234391383.tmp.jpg
+ /usr/bin/convert -type TrueColor -quality 100 1234391383.tmp.jpg 
1234391383.next_trans.tmp.pnm
+ /usr/bin/composite 1234391383.prev_trans.tmp.pnm 
1234391383.next_trans.tmp.pnm -type TrueColor -quality 100 -dissolve 99 
1234391383.tmp.pnm
++ echo 49
+ '[' 0 = 49 ']'
++ echo 1
+ CPD=1
++ echo 98
+ DISSOLVEVALUE=98
+ /usr/bin/convert -depth 8 ppm:1234391383.tmp.pnm -
+ cat
+ test 1 -lt 150
++ echo 2
+ CPT=2
+ '[' 0 = 0 ']'



clipped to save space


+ echo -ne 'Frame Num. 144 / 145      \r'
+ '[' 1 = 0 ']'/ 145
++ echo 135
+ '[' 1 = 1 ']'
++ echo 145
+ '[' 1 = 1 ']'
+ '[' 10 = 99 ']'
+ /usr/bin/composite 1234391228.prev_trans.tmp.pnm 
1234391228.next_trans.tmp.pnm -type TrueColor -quality 100 -dissolve 10 
1234391228.tmp.pnm
++ echo 9
+ '[' 9 = 9 ']'
++ echo 3
+ CPF=3
+ DISSOLVEVALUE=99
+ CPD=0
+ cp -f 1234391228.next_trans.tmp.pnm 1234391228.prev_trans.tmp.pnm
+ mv -f 1234391228.next_trans.tmp.pnm 1234391228.tmp.pnm
+ /usr/bin/convert -depth 8 ppm:1234391228.tmp.pnm -
+ cat
+ test 144 -lt 145
++ echo 145
+ CPT=145
+ '[' 0 = 0 ']'
+ echo -ne 'Frame Num. 145 / 145      \r'
+ '[' 1 = 0 ']'/ 145
++ echo 270
+ '[' 0 = 1 ']'
+ /usr/bin/convert -depth 8 ppm:1234391228.tmp.pnm -
+ cat
+ test 145 -lt 145
++ date +%s
+ DATE_FIN=1234391264
++ echo 36
+ TEMPSCALCUL=36
+ '[' 0 = 0 ']'
+ echo -e '\nMPEG encoding terminated [145 frames - Encoding time : 36 s].'

MPEG encoding terminated [145 frames - Encoding time : 36 s].
+ AUDIOFILENAME=
+ '[' '' ']'
+ '[' '' ']'
+ '[' 0 = 0 ']'
+ echo -e '\nMerging MPEG flux with MjpegTools.'

Merging MPEG flux with MjpegTools.
+ '[' -z test.avi ']'
+ '[' '' ']'
+ /usr/bin/mplex -v 0 -f 8 -b 230 1234391228.tmp.m2v -o test.avi
+ '[' 0 = 0 ']'
+ echo -e '\nThe video MPEG output file is '\''test.avi'\''.'

The video MPEG output file is 'test.avi'.
+ CleanUp
+ '[' 0 = 0 ']'
+ echo -e 'Removing temporary files...'
Removing temporary files...
+ '[' -e 1234391228.tmp.m2v ']'
+ rm 1234391228.tmp.m2v
+ '[' -e 1234391228.tmp.jpg ']'
+ rm 1234391228.tmp.jpg
+ '[' -e 1234391228.tmp.pnm ']'
+ rm 1234391228.tmp.pnm
+ '[' '' ']'
+ '[' 1234391228.black.tmp.png=1234391228.black.tmp.png ']'
+ '[' -e 1234391228.black.tmp.png ']'
+ rm 1234391228.black.tmp.png
+ '[' 1 = 1 ']'
+ '[' -e 1234391228.prev_trans.tmp.pnm ']'
+ rm 1234391228.prev_trans.tmp.pnm
+ '[' -e 1234391228.next_trans.tmp.pnm ']'
+ exit 0
mich...@mikepav:~/Pictures/Toy_Library/Sand&Water$

Reply via email to