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 VLCfeatures.
Play every media file formats, every codec and every streaming protocols.
Run on every platform, from desktop (Windows, Linux, Mac) to mobile (Android, iOS) and TVs.
Hardware and efficient decoding on every platform, up to 8K.
Network browsing for distant filesystems (SMB, FTP, SFTP, NFS...) and servers (UPnP, DLNA).
Playback of Audio CD, DVD and Bluray with menu navigation.
Support for HDR, including tonemapping for SDR streams.
Audio passthrough with SPDIF and HDMI, including for Audio HD codecs, like DD+, TrueHD or DTS-HD.
Support for video and audio filters.
Support for 360 video and 3D audio playback, including Ambisonics.
Able to cast and stream to distant renderers, like Chromecast and UPnP renderers.
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.