Cross-platform .NET/Mono bindings for LibVLC
LibVLCSharp is a cross-platform audio and video API for .NET platforms based on VideoLAN's LibVLC Library. It provides a comprehensive multimedia API that can be used across mobile, server and desktop to render video and output audio as well as encode and stream.
The official repository URL for this repo is https://code.videolan.org/videolan/LibVLCSharp.
Check out libvlc-nuget to get a basic understanding of how libvlc works, what it can offer and how to install it with NuGet.
Some of the features include:
Most things you can achieve with the regular VLC desktop app, you can also achieve using libvlc.
Full featured video control for Xamarin.Forms available in LibVLCSharp.Forms (iOS/Android) and Uno platform (iOS/Android/UWP).
Mono, .NET Framework and .NET Core runtimes are supported.
LibVLC is the actual VLC engine written mostly in C/C++ and compiled for your target platform. More information here.
| Platform | LibVLC Package | NuGet | Minimum OS Version |
|---|---|---|---|
| Windows | VideoLAN.LibVLC.Windows | Windows XP | |
| UWP | VideoLAN.LibVLC.UWP | Windows 10 | |
| Mac | VideoLAN.LibVLC.Mac | macOS 10.7 | |
| Android | VideoLAN.LibVLC.Android | Android 2.3 | |
| iOS | VideoLAN.LibVLC.iOS | iOS 8.4 | |
| tvOS | VideoLAN.LibVLC.tvOS | tvOS 10.2 | |
| Linux | Linux guide | N/A | N/A |
dotnet add package VideoLAN.LibVLC.[Windows|UWP|Android|iOS|Mac|tvOS]LibVLCSharp is the .NET wrapper that consumes LibVLC and allows you to interact with native code from C#/F#.
| Platform | LibVLCSharp Package | NuGet |
|---|---|---|
| .NET Standard | LibVLCSharp | |
| Xamarin.Android | LibVLCSharp | |
| Xamarin.iOS | LibVLCSharp | |
| Xamarin.tvOS | LibVLCSharp | |
| Xamarin.Mac | LibVLCSharp | |
| UWP | LibVLCSharp.UWP | |
| WinUI | LibVLCSharp.WinUI | |
| Xamarin.Forms | LibVLCSharp.Forms | |
| MAUI | LibVLCSharp.MAUI | |
| WPF | LibVLCSharp.WPF | |
| Xamarin.Forms.WPF | LibVLCSharp.Forms.WPF | |
| GTK | LibVLCSharp.GTK | |
| Xamarin.Forms.GTK | LibVLCSharp.Forms.GTK | |
| Windows Forms | LibVLCSharp.WinForms | |
| Uno Platform | LibVLCSharp.Uno | |
| Avalonia | LibVLCSharp.Avalonia | |
| Eto.Forms | LibVLCSharp.Eto | |
| Unity3D - Windows | VLC for Unity (Windows) | |
| Unity3D - UWP | VLC for Unity (UWP) | |
| Unity3D - Android | VLC for Unity (Android) | |
| Unity3D - iOS | VLC for Unity (iOS) | |
| Unity3D - macOS | VLC for Unity (macOS) | |
| Unity3D - Linux | VLC for Unity (Linux) |
LibVLCSharp 4 preview and LibVLC 4 nightly builds are distributed using https://feedz.io/ for now. To pull pre-release versions into your project, use the following NuGet.config file:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="videolan-preview" value="https://f.feedz.io/videolan/preview/nuget/index.json" />
</packageSources>
</configuration>See the docs for preview builds installation details.
No open issues yet, or sync has not completed.