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. The same module should be compatible with various versions of libvlc 3.*. However, there may be incompatible changes between major versions.
Installing the module
You can install the module through PyPI:
pip install python-vlc
Using the module
The module offers two ways of accessing the API - a raw access to all exported methods, and more convenient wrapper classes.
Using wrapper classes
Most major structures of the libvlc API (Instance, Media, MediaPlayer, etc) are wrapped as classes, with shorter method names and some adaptations to provide a more pythonic API:
>>> import vlc
>>> player = vlc.MediaPlayer('file:///tmp/foo.avi')
>>> player.play()
>>> player.get_instance() # returns the corresponding instance
In this 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).
You also can use wrapper methods closer to the original libvlc API:
>>> import vlc
>>> instance = vlc.Instance('--no-audio', '--fullscreen')
>>> player = instance.media_player_new()
>>> player.audio_get_volume()
50
>>> media = instance.media_new('file:///tmp/foo.avi')
>>> media.get_mrl()
'file:///tmp/foo.avi'
>>> player.set_media(m)
>>> player.play()
Using raw access
- Libvlc methods are available as attributes of the vlc module (as
vlc.libvlc_*). Use their docstring (any introspective shell like ipython is your friend) to explore them, or refer to the online documentation at https://olivieraubert.net/vlc/python-ctypes/
>>> import vlc >>> vlc.libvlc_get_version() '3.0.0-rc2 Vetinari' >>> exc = vlc.VLCException() >>> instance = vlc.libvlc_new(0, [], exc) >>> instance <vlc.Instance object at 0x8384a4c> >>> vlc.libvlc_audio_get_volume(instance, exc) 50
Example code
You can find [example files](https://github.com/oaubert/python-vlc/tree/master/examples) in the repository.
Note that the vlc.py module can itself be invoked as an application using its own features, which also serves as a API usage example. See the [end of the module](https://github.com/oaubert/python-vlc/blob/master/generated/3.0/vlc.py#L12525) after the line if __name__ == "__main__":
License
The generated module is licensed, like libvlc, under the GNU Lesser General Public License 2.1 or later.
Metadata
Release files for python-vlc 3.0.21203
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| python_vlc-3.0.21203.tar.gz | 162.2 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| python_vlc-3.0.21203-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 249.9 kB
Release files / python_vlc-3.0.21203.tar.gz
| Download URL | python_vlc-3.0.21203.tar.gz |
|---|---|
| Size | 162.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
52d0544b276b11e58b6c0b748c3e0518f94f74b1b4cd328c83a59eacabead1ec
|
|
BLAKE2b-256 checksum How to use checksums |
4b5bf9ce6f0c9877b6fe5eafbade55e0dcb6b2b30f1c2c95837aef40e390d63b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.12.6
|
Release files / python_vlc-3.0.21203-py3-none-any.whl
| Download URL | python_vlc-3.0.21203-py3-none-any.whl |
|---|---|
| Size | 87.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1613451a31b692ec276296ceeae0c0ba82bfc2d094dabf9aceb70f58944a6320
|
|
BLAKE2b-256 checksum How to use checksums |
5bee7d76eb3b50ccb1397621f32ede0fb4d17aa55a9aa2251bc34e6b9929fdce
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.12.6
|
Security for python-vlc 3.0.21203
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.