469,904 Members | 1,956 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 469,904 developers. It's quick & easy.

Windows AVIFile problems

Hi All,

I'm trying to access individual video frames of an AVI file from within
Python 2.4 or 2.5 under Windows XP.

I have found this example code here for that does exactly what I want,
using the windows avifile.dll but I am unable to find the AVIFile.h
header...

http://mail.python.org/pipermail/ima...ry/001748.html

An alternative is to call into avifile.dll dynamically using ctypes,
however under both Python 2.4 and 2.5 the following error happens:
>>from ctypes import *
windll.AVIFile
Traceback (most recent call last):
File "<pyshell#2>", line 1, in <module>
windll.AVIFile
File "C:\Python25\lib\ctypes\__init__.py", line 415, in __getattr__
dll = self._dlltype(name)
File "C:\Python25\lib\ctypes\__init__.py", line 340, in __init__
self._handle = _dlopen(self._name, mode)
WindowsError: [Error 193] %1 is not a valid Win32 application

or

WinDLL('c:/windows/system/AVIFILE.DLL') # same for .../system32/AVI...
Traceback (most recent call last):
File "<pyshell#2>", line 1, in <module>
windll.AVIFile
File "C:\Python25\lib\ctypes\__init__.py", line 415, in __getattr__
dll = self._dlltype(name)
File "C:\Python25\lib\ctypes\__init__.py", line 340, in __init__
self._handle = _dlopen(self._name, mode)
WindowsError: [Error 193] %1 is not a valid Win32 application

This suggests that the dll is corrupt? However if I download
and run the exe's from this example of a VB program calling
the DLL, they work:
http://www.shrinkwrapvb.com/avihelp/avihelp.htm

I'm open to suggestions about the specific problems above
or other ways of getting at the frames. I've tried pymedia
but it also has issues.

Regards
Chris Saunter
Jan 25 '08 #1
3 2445
c d saunter schrieb:
Hi All,

I'm trying to access individual video frames of an AVI file from within
Python 2.4 or 2.5 under Windows XP.

I have found this example code here for that does exactly what I want,
using the windows avifile.dll but I am unable to find the AVIFile.h
header...

http://mail.python.org/pipermail/ima...ry/001748.html

An alternative is to call into avifile.dll dynamically using ctypes,
however under both Python 2.4 and 2.5 the following error happens:
>>>from ctypes import *
windll.AVIFile

Traceback (most recent call last):
File "<pyshell#2>", line 1, in <module>
windll.AVIFile
File "C:\Python25\lib\ctypes\__init__.py", line 415, in __getattr__
dll = self._dlltype(name)
File "C:\Python25\lib\ctypes\__init__.py", line 340, in __init__
self._handle = _dlopen(self._name, mode)
WindowsError: [Error 193] %1 is not a valid Win32 application
The dll is not corrupt. It is the 16-bit dll, possibly present for legacy
16-bit support.

You must use the 32-bit dll, it seems it called avifil32.dll.

Also I guess to get the AVIFILE.H header file, you need to install some
MS SDK or the platform sdk.

Thomas

Jan 25 '08 #2
c d saunter wrote:
I'm trying to access individual video frames of an AVI file from within
Python 2.4 or 2.5 under Windows XP.
I thought that the recently-at-1.0 pyglet did that, only I can't
now see it in their docs anywhere. Might be worth asking over
there anyway [1] since it certainly comes close, is a much easier
way of dealing with video images, and seems to have an active
community.

TJG

[1] http://www.pyglet.org/
Jan 25 '08 #3
Thomas Heller (th*****@ctypes.org) wrote:
: c d saunter schrieb:
: Hi All,
: >

: The dll is not corrupt. It is the 16-bit dll, possibly present for legacy
: 16-bit support.

Thomas,
Thanks, that explains a lot.

Regards,
Chris Saunter
Jan 25 '08 #4

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

5 posts views Thread by Daniel | last post: by
37 posts views Thread by Carlos Ribeiro | last post: by
1 post views Thread by Adi Sapir | last post: by
1 post views Thread by Achim Domma (Procoders) | last post: by
1 post views Thread by =?Utf-8?B?ZHVjaG92bGV0?= | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.