Skip to content

hartror/python-libvlc-bindings

Repository files navigation

* Python ctypes-based bindings for libvlc

The bindings use ctypes to directly call the libvlc dynamic lib, and
the code is generated from the include files defining the public API.

** Building

To generate the vlc.py module and its documentation, use
make
or use the generated/vlc.py file.

Documentation building needs epydoc. An online build is available at 
http://advene.org/download/python-ctypes/

** Layout

The module offers two ways of accessing the API - a raw access to all
exported methods, and more convenient wrapper classes :

- Raw access: methods are available as attributes of the vlc
  module. Use their docstring (any introspective shell like ipython is
  your friends) to explore them. 

- Wrapper classes: most major structures of the libvlc API (Instance,
  Media, MediaPlayer, etc) are wrapped as classes, with shorter method
  names.

** Using the module

On win32, the simplest way is to put the vlc.py file in the same
directory as the libvlc.dll file (standard location:
c:\Program Files\VideoLAN\VLC ).

- Using raw access:

>>> import vlc
>>> vlc.libvlc_get_version()
'1.0.0 Goldeneye'
>>> e=vlc.VLCException()
>>> i=vlc.libvlc_new(0, [], e)
>>> i
<vlc.Instance object at 0x8384a4c>
>>> vlc.libvlc_audio_get_volume(i,e)
50

- Using wrapper classes:

>>> import vlc
>>> i=vlc.Instance('--no-audio', '--fullscreen')
>>> i.audio_get_volume()
50
>>> p=i.media_player_new()
>>> m=i.media_new('file:///tmp/foo.avi')
>>> m.get_mrl()
'file:///tmp/foo.avi'
>>> p.set_media(m)
>>> p.play()

or shorter:

>>> import vlc
>>> p=vlc.MediaPlayer('file:///tmp/foo.avi')
>>> p.play()

In this latter case, a default vlc.Instance will be instanciated and
stored in vlc._default_instance. It will be used to instanciate the
various classes (Media, MediaList, MediaPlayer, etc).

About

Python libvlc bindings

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published