VideoLAN, a project and a non-profit organization.


libVLC is the core engine and the interface to the multimedia framework on which VLC media player is based.

libVLC is modularized into hundreds of plugins, which may be loaded at runtime. This architecture provides great flexibility to developers (both VLC devs and devs consuming the library). It allows developers to create a wide range of multimedia applications using the VLC features.

libVLC is a C library which can be embedded in your own applications. It works with most popular OS platforms, on both mobile and desktop. It is under the LGPL2.1 license.

libVLC versioning is inherently tied to the VLC app versioning. The current stable major version of libVLC is version 3, and the preview/development version is version 4.

A variety of programming language bindings for libVLC is available to use the library seamlessly in your chosen ecosystem.

Bindings by VideoLAN

Bindings by the community

LibVLC Discord Community Server

For matters related to the LibVLC APIs and the various bindings, join our LibVLC bindings Community Discord Server!

LibVLC Examples

Sample projects using LibVLC made by the community are a great way to get started!

You can just clone and run the sample and start from there. It is also a good way to learn how to implement and use specific LibVLC features in your applications. Test projects are also good for this.

mosaic android
Video player with Mosaic views on Android

mosaic android
360° video and viewpoint navigation

LibVLC Thumbnailer output

Crossplatform MediaPlayerElement from LibVLCSharp

Samples repositories for each ecosystem

You can find in the following list links to ready-to-run code samples using the various LibVLC bindings.

Technical Diagram

libVLC dev stack