Hi, here's a list of comments on python-theora: 1) http://certik.github.com/python-theora/module_theora.html#class-theora uses theora.test_files but setup.py does not install the test files so using this API fails with Traceback (most recent call last): File "browse-video.py", line 4, in <module> t = theora.Theora(theora.test_files[2]) File "theora.pyx", line 209, in theora.Theora.__init__ (theora.c:1211) IOError: [Errno 2] No such file or directory: 'tests/videos/videotestsrc-720x576-16-15.ogg' When I build a debian package of python-theora should I download the test files manually? If not, how about modifying the API documentation to say that the test files are not normally distributed with the library? 2) t.get_frame_image() fails with Traceback (most recent call last): File "browse-video.py", line 8, in <module> img = t.get_frame_image() File "theora.pyx", line 681, in theora.Theora.get_frame_image (theora.c:3553) ImportError: No module named scipy.misc should setup.py declare this as a dependency? If not, can you add a list of dependencies to README? 3) after installing scipy misc I get Traceback (most recent call last): File "browse-video.py", line 8, in <module> img = t.get_frame_image() File "theora.pyx", line 681, in theora.Theora.get_frame_image (theora.c:3556) AttributeError: 'module' object has no attribute 'toimage' and indeed Python 2.5.4 (r254:67916, Nov 19 2009, 22:14:20) [GCC 4.3.4] on linux2 Type "help", "copyright", "credits" or "license" for more information.>>> from scipy.misc import toimageTraceback (most recent call last): File "<stdin>", line 1, in <module> ImportError: cannot import name toimage Do I need some specific version of scipy? I have python-scipy 0.7.0-2 from debian unstable. I tried also with python2.6 and get Python 2.6.4+ (r264:75706, Jan 17 2010, 11:37:20) [GCC 4.4.3 20100108 (prerelease)] on linux2 Type "help", "copyright", "credits" or "license" for more information.>>> from scipy.misc import toimageTraceback (most recent call last): File "<stdin>", line 1, in <module> ImportError: No module named scipy.misc since python-scipy seems to be only for python 2.4 and 2.5 in debian. I read the source code of python-scipy and noticed that I can do Python 2.5.4 (r254:67916, Nov 19 2009, 22:14:20) [GCC 4.3.4] on linux2 Type "help", "copyright", "credits" or "license" for more information.>>> from scipy.misc.pilutil import toimageTraceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/lib/python2.5/site-packages/scipy/misc/pilutil.py", line 10, in <module> import Image ImportError: No module named Image which works after I install python-imaging. 4) I modified python-theora with diff --git a/theora.pyx b/theora.pyx index 4abca20..78722be 100644 --- a/theora.pyx +++ b/theora.pyx @@ -678,7 +678,7 @@ cdef class Theora: <Image.Image instance at 0x...> """ - from scipy.misc import toimage + from scipy.misc.pilutil import toimage return toimage(self.YCbCr2RGB(self.get_frame_array()), channel_axis=2) def read_headers(self): and was then able to run #!/usr/bin/python import theora import sys t = theora.Theora(sys.argv[1]) t.seek(frame=1200) img = t.get_frame_image() img.save("c.png") and get a picture that looks good. thanks a lot for your work! 5) "Currently it can only seek forward." is a serious problem for my application. Is there this an inherent limitation of the theora library or is there something that could be done about it? 6) seeking N frames seems to take O(N) time: N time to seek N frames 1000 1.93s 2000 3.39s 3000 4.65s 4000 5.97s 5000 7.12s 6000 8.71s Is there some way to create an index to make seeking O(1)? If not, I guess my only option is to write each frame to a separate file with "mplayer -vo jpeg video.ogv" and access them from filesystem. best regards, Timo Lindfors