skillfed

python-vlc

VLC bindings for python.

python-vlc v3.0.21203 211.7K downloads/30d#9,478 on PyPI450
Copyleft license LGPL-2.1+ AGING released

What it is and what it does

python-vlc is a ctypes-based wrapper around libvlc, the core media engine of VLC. It exposes VLC's media playback and control functionality to Python through two interfaces: high-level wrapper classes (MediaPlayer, Instance, Media) that provide a more Pythonic API, and raw ctypes access to the underlying libvlc functions for advanced use. The module is generated from libvlc's public API headers and is designed to work with libvlc 3.* versions.

You use it to programmatically play, pause, and control audio and video files from Python, or to build media applications that need VLC's codec support and playback capabilities. It requires libvlc to be installed on your system; the Python package itself is just the binding layer.

Use it for:

  • Build a Python desktop or web application that plays video or audio files without reimplementing codec support.
  • Automate media playback in tests or batch processing workflows that need to verify video/audio output.
  • Create a custom media player UI in Python that delegates playback to VLC's proven engine.
  • Control VLC playback programmatically from a Python script (play, pause, seek, volume, etc.).
  • Access VLC's media information API to read metadata or properties from audio/video files.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Python ctypes-based bindings to libvlc that let you control VLC media playback and access its API from Python code.

Yes, if you need to control VLC playback from Python and libvlc 3.* is available on your target platform. The package is stable and has no known vulnerabilities, but maintenance is aging (676 days since last release). Verify that libvlc 3.* installation is straightforward for your deployment environment before committing.

Install

python-vlc on PyPI

pip

pip install python-vlc

uv

uv add python-vlc

poetry

poetry add python-vlc

Installing python-vlc

Before you install

Low install friction; distributed as a pure Python wheel. Maintenance is aging—676 days since last release—but the repository remains active and the package is marked Production/Stable.

License in practice

Licensed under LGPL-2.1+, a copyleft license. You may use and modify the package freely, but any derivative work must also be licensed under LGPL-2.1+ or compatible, and source code must be made available.

Quickstart

pip install python-vlc

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

Requires libvlc 3.* to be installed on the system; the Python module is only a ctypes wrapper around the native library.

Verify before relying

  • Whether libvlc 3.* is available on all target platforms or if installation is straightforward.
  • Compatibility with Python versions beyond 2 and 3 (requires_python is unspecified in metadata).

Package facts

License LGPL-2.1+ (copyleft)
Python support not specified
Install friction low — pure-Python wheel
Runtime dependencies none
Maintenance aging — 676 days since the last release
Last repo commit
First released
Downloads 211,685/month — #9,478 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: python_vlc-3.0.21203-py3-none-any.whl

Keywords: vlc, video

Development Status :: 5 - Production/StableIntended Audience :: DevelopersLicense :: OSI Approved :: GNU Lesser General Public License v2 or later (LGPLv2+)Operating System :: MacOS :: MacOS XOperating System :: Microsoft :: WindowsOperating System :: POSIX :: LinuxOperating System :: POSIX :: OtherProgramming Language :: PythonProgramming Language :: Python :: 2Programming Language :: Python :: 3Topic :: MultimediaTopic :: Multimedia :: Sound/AudioTopic :: Multimedia :: Video

Tags

vlc bindings pythonmedia player control pythonlibvlc python wrappervideo playback pythonaudio playback pythonvlc api python
media-playbackctypes-bindingvlc-wrapper

More Multimedia packages