Multimedia extensions Framework

D

Dmitry Borisov

Guys,
Just wanted to get some feedback and ideas/help for a complete multimedia Framework for Python. It is in development phase now and the goal for it is to make the mutlimedia a snap with Python.
It shall be fairly easy to write in Python a DVD player, USB camera mp4 capture or video/audio editing software.
It shall be portable and small.
It shall be fast and reliable.
It shall be simply expandable.
At this time I focus in these areas:
1. Audio processing( encoding/decoding/posprocessing/analysing )
2. Video processing( encoding/decoding/posprocessing/analysing )
3. Direct multimedia devices access. DVD/CD-ROMs, PCI Soundcards
4. USB drivers in Python for universal architecture across the platforms. You write a driver just once, then just run it on a different platform...

Did I miss anything ?

At this time bullets 1-3 are implemented at 90%( http://pymedia.sourceforge.net ). Some functionality still in test, some still needs to be written. Bullet 4 is completelly at the design stage and that's where I want your feedback and thoughts.
From my prospective I want to be able to write drivers for USB devices in Python. It may include:
- usb storages
- usb camcorders
- usb tv cards
- usb sound cards
- usb FM/XM receivers
- etc.
The architecture would be very similar to jUSB ( http://www.steelbrothers.ch/jusb/api/usb/windows/package-summary.html ) with some Python specific changes. Also it will work on all platforms supported by pymedia( Windows/Linux as of now ).

If anyone has any experience with doing USB specific bindings in Python or want to participate or give feedback, I would be more than happy to hear from you.

Thank you,
Dmitry/

PS: I want to apologies for OT if any, but didn't really found any SIGs for that.
 
R

Roger Binns

Dmitry said:
At this time bullets 1-3 are implemented at 90%( http://pymedia.sourceforge.net ).
Some functionality still in test, some still needs to be written.

External interfaces are also needed. For example I need to convery to/from
Qualcomm's PureVoice format. They conveniently only provide a Windows binary
that will only accept particularly constrained wav files. To do conversions,
I have to invoke the external binary (via Wine on Linux also works) and munge
everything through temporary files.

That is all a gross hack, but having some sort of "standard" external binary
callout mechanism will be nice.

You should be aware that userspace stuff just cannot match the speed of kernel
level drivers. For some of the stuff you mentioned (eg camcorders, tv cards)
you will have to use kernel level drivers, or you will lose data.

For other stuff such as storage, you will just be a lot slower than a
kernel level driver. (As an example I get about a 3rd the speed from
Python than kernel drivers when dealing with a device that is just
bulk data).

The other reason for having kernel level drivers is so that the
devices appear "normally" and can be used by other programs
(eg an audio device appearing as a normal OS level audio device).
If anyone has any experience with doing USB specific bindings in Python or want
to participate or give feedback,

I have already done a wrapper around libusb/libusb-win32. It has been shipping
with my BitPim project on Windows, Linux and Mac for almost 8 months now.
Many other projects (such as Gphoto and Linux scanners) use libusb.

You can see the wrapper at http://cvs.sf.net/viewcvs.py/bitpim/bitpim/native/usb/
It does need a distutils wrapper around it all. (I haven't done one myself
since there doesn't seem to be easy integration of Swig with distutils).

Roger
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,582
Members
45,066
Latest member
VytoKetoReviews

Latest Threads

Top