New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

python-vlc

Package Overview
Dependencies
Maintainers
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

python-vlc

VLC bindings for python.

  • 3.0.21203
  • PyPI
  • Socket score

Maintainers
2

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 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 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.

Keywords

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc