Matthias Reichl wrote:
Nice bug report, thanks.
The outdir is still supported in the current mplayer svn and it is still
in the man page. I will try a build of 29308 to see if the command
syntax has changed or if your version is broken.
IIRC _run is a thread and so the cd should be done there and the
original directory should be popped back. I want to change these calls
in encoding core to use childapp but that will be after 1.8.4.
Duncan
> Generating video thumbnails seems to be broken in current SVN.
>
> freevo cache --video-thumbs --directory=/freevo/video/thumbtest/
>
> hangs forever, the process (ps axfww) tree looks like this:
>
> ...
> 17184 pts/1 S+ 0:00 \_ /usr/bin/python
> /usr/bin/freevo cache --video-thumbs --directory=/freevo/video/thumbtest/
> 17186 pts/1 S+ 0:00 \_ python
> /usr/lib/python2.5/site-packages/freevo/helpers/cache.py cache --video-thumbs
> --directory=/freevo/video/thumbtest/
> 17188 pts/1 S+ 0:00 \_ /usr/bin/python
> /usr/bin/freevo
> --execute=/usr/lib/python2.5/site-packages/freevo/util/videothumb.pyc
> /usr/bin/mplayer /freevo/video/thumbtest/test.avi
> /var/cache/freevo/vfs/freevo/video/thumbtest/test.avi.raw.tmp
> 17190 pts/1 Sl+ 0:00 \_ python
> /usr/lib/python2.5/site-packages/freevo/util/videothumb.pyc /usr/bin/mplayer
> /freevo/video/thumbtest/test.avi
> /var/cache/freevo/vfs/freevo/video/thumbtest/test.avi.raw.tmp
> ...
> 17193 pts/1 S+ 0:00 /usr/bin/mplayer -vo png:z=1:outdir=/tmp -ao null
> -frames 8 -ss 211 -zoom /freevo/video/thumbtest/test.avi
>
> When I interrupt "freevo cache ..." with control-C, the freevo process(es)
> stop, but the mplayer process still hangs in the background (also note
> that the parent of the process now is init, not python/freevo).
>
> The videothumb-0.log file contains the following entries (debugging
> enabled):
>
> 2009-05-14 19:08:00,894 DEBUG encodingcore.py (406):
> source='/freevo/video/thumbtest/test.avi'
> 2009-05-14 19:08:00,895 DEBUG encodingcore.py (412): Video length is 422.0
> 2009-05-14 19:08:00,896 DEBUG encodingcore.py (927):
> CommandThread.__init__(parent=<encodingcore.EncodingJob instance at
> 0x84b6f2c>, command=['/usr/bin/mplayer', '-vo', 'png:z=1:outdir=/tmp', '-ao',
> 'null', '-frames', '8', '-ss', '211', '-zoom',
> '/freevo/video/thumbtest/test.avi'], updatefunc=None, finalfunc=<bound method
> EncodingJob._videothumb_parse of <encodingcore.EncodingJob instance at
> 0x84b6f2c>>, flushbuffer=0, data='data.png', lock=None)
> 2009-05-14 19:08:00,898 DEBUG encodingcore.py (940): /usr/bin/mplayer -vo
> png:z=1:outdir=/tmp -ao null -frames 8 -ss 211 -zoom
> /freevo/video/thumbtest/test.avi
> 2009-05-14 19:08:00,929 DEBUG encodingcore.py (942): /usr/bin/mplayer
> thread running with PID 17192
> Traceback (most recent call last):
> File "/usr/lib/python2.5/site-packages/freevo/util/videothumb.py", line
> 143, in <module>
> encjob._wait()
> File "/usr/lib/python2.5/site-packages/freevo/encodingcore.py", line 916,
> in _wait
> raise EncodingError('thread still running')
> encodingcore.EncodingError: thread still running
> Exception in thread Thread-1:
> Traceback (most recent call last):
> File "/usr/lib/python2.5/threading.py", line 486, in __bootstrap_inner
> self.run()
> File "/usr/lib/python2.5/site-packages/freevo/encodingcore.py", line 947,
> in run
> line = output.readline().strip()
> IOError: [Errno 4] Interrupted system call
>
> I'm running the current kaa SVN (r3981) and REL-1_8_4 SVN (r11502)
> on a Debian lenny box, using mplayer SVN-r26940 from debian-multimedia.org.
>
> One issue is that this mplayer version doesn't support the "outdir=..."
> option in the png video-output driver. Currently I'm using the the
> following hack to get the thumbnails working again (but I don't know
> if the os.chdir() has any negative side-effects on other parts):
>
> --- freevo/src/encodingcore.py (revision 11502)
> +++ freevo/src/encodingcore.py (working copy)
> @@ -464,12 +464,13 @@
> self.length = 0
>
> position = str(int(self.length / 2.0))
> - arguments = [ '-vo', 'png:z=1:outdir=/tmp', '-ao', 'null',
> '-frames', '8', '-ss', position, '-zoom' ]
> + arguments = [ '-vo', 'png:z=1', '-ao', 'null', '-frames', '8',
> '-ss', position, '-zoom' ]
> if self.titlenum:
> arguments += [ '-dvd-device', self.source, 'dvd://%s' %
> self.titlenum ]
> else:
> arguments += [ self.source ]
>
> + os.chdir('/tmp')
> self._run(mplayer, arguments, self._videothumb_parse, None, 0,
> 'data.png')
>
> The other issue is freevo not recognizing the mplayer error. If I enter
> "mplayer -vo png:z=1:outdir=/tmp ..." on the command line I get an
> error (telling me that outdir is not supported) and mplayer crashes.
> I think freevo should somehow be able to detect this error/crash
> and not just hang forever. Maybe some kind of race condition?
>
> so long,
>
> Hias
>
> ------------------------------------------------------------------------------
> The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your
> production scanning environment may not be a perfect world - but thanks to
> Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700
> Series Scanner you'll get full speed at 300 dpi even with all image
> processing features enabled. http://p.sf.net/sfu/kodak-com
> _______________________________________________
> Freevo-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/freevo-devel
>
------------------------------------------------------------------------------
The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your
production scanning environment may not be a perfect world - but thanks to
Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700
Series Scanner you'll get full speed at 300 dpi even with all image
processing features enabled. http://p.sf.net/sfu/kodak-com
_______________________________________________
Freevo-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freevo-devel