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:
- 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.
Most things you can achieve with the regular VLC desktop app, you can also achieve using libvlc.
Supported platforms Mono, .NET Framework and .NET Core runtimes are supported.
Xamarin.Android
Xamarin.iOS
Xamarin.tvOS
Xamarin.Mac (Cocoa)
Windows Classic (WPF, WinForms, GTK)
Windows Universal (UWP for Desktop, mobile and Xbox)
Linux including desktop, server and Raspberry Pi (GTK)
Xamarin.Forms
Uno Platform (UWP, Android, iOS)
.NET Standard 1.1 and 2.0
.NET Framework 4.0 and later
.NET Core (including ASP.NET Core)
Unity3D
Windows Classic