VOOZH about

URL: https://www.nuget.org/packages/LibVLCSharp/

⇱ NuGet Gallery | LibVLCSharp 3.10.0




👁 Image
LibVLCSharp 3.10.0

Prefix Reserved
dotnet add package LibVLCSharp --version 3.10.0
 
 
NuGet\Install-Package LibVLCSharp -Version 3.10.0
 
 
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="LibVLCSharp" Version="3.10.0" />
 
 
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="LibVLCSharp" Version="3.10.0" />
 
Directory.Packages.props
<PackageReference Include="LibVLCSharp" />
 
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add LibVLCSharp --version 3.10.0
 
 
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: LibVLCSharp, 3.10.0"
 
 
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package LibVLCSharp@3.10.0
 
 
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=LibVLCSharp&version=3.10.0
 
Install as a Cake Addin
#tool nuget:?package=LibVLCSharp&version=3.10.0
 
Install as a Cake Tool
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

<h3 align="center"> <img src="src/assets/banner.png"/> </h3>

LibVLCSharp

👁 Join the chat at https://discord.gg/3h3K3JF
👁 LibVLCSharp API Docs

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.

Features

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.

MediaPlayerElement

Full featured video control for Xamarin.Forms available in LibVLCSharp.Forms (iOS/Android) and Uno platform (iOS/Android/UWP).

<h3 align="center"> <img src="src/assets/media-element.jpg"/> </h3>

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
  • MAUI
  • Uno Platform 5 (WinUI, Android, iOS)
  • Avalonia (Windows, macOS, Linux)
  • .NET Standard 1.1 and 2.0
  • .NET Framework 4.0 and later
  • .NET Core (including ASP.NET Core)
  • Unity3D
    • Windows Classic
    • Android
    • UWP
    • iOS
    • macOS

Installation

  1. Install LibVLC in your platform specific project.

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 👁 LibVLCWindowsBadge
Windows XP
UWP VideoLAN.LibVLC.UWP 👁 LibVLCWin10Badge
Windows 10
Mac VideoLAN.LibVLC.Mac 👁 LibVLCMacBadge
macOS 10.7
Android VideoLAN.LibVLC.Android 👁 LibVLCAndroidBadge
Android 2.3
iOS VideoLAN.LibVLC.iOS 👁 LibVLCiOSBadge
iOS 8.4
tvOS VideoLAN.LibVLC.tvOS 👁 LibVLCtvOSBadge
tvOS 10.2
Linux N/A N/A
dotnet add package VideoLAN.LibVLC.[Windows|UWP|Android|iOS|Mac|tvOS]
  1. Install LibVLCSharp or LibVLCSharp.Forms (if you plan on using Xamarin.Forms)

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 👁 LibVLCSharpBadge
Xamarin.Android 👁 LibVLCSharpBadge
Xamarin.iOS 👁 LibVLCSharpBadge
Xamarin.tvOS 👁 LibVLCSharpBadge
Xamarin.Mac 👁 LibVLCSharpBadge
UWP 👁 LibVLCSharpUWPBadge
WinUI 👁 LibVLCSharpWinUIBadge
Xamarin.Forms 👁 LibVLCSharpFormsBadge
MAUI 👁 LibVLCSharpMAUIBadge
WPF 👁 LibVLCSharpWPFBadge
Xamarin.Forms.WPF 👁 LibVLCSharpFormsWPFBadge
GTK 👁 LibVLCSharpGTKBadge
Xamarin.Forms.GTK 👁 LibVLCSharpFormsGTKBadge
Windows Forms 👁 LibVLCSharpWinFormsBadge
Uno Platform 👁 LibVLCSharpUnoBadge
Avalonia 👁 LibVLCSharpAvaloniaBadge
Eto.Forms 👁 LibVLCSharpEtoBadge
Unity3D - Windows VLC for Unity (Windows) 👁 VLCUnityBadge
Unity3D - UWP VLC for Unity (UWP) 👁 VLCUnityBadge
Unity3D - Android VLC for Unity (Android) 👁 VLCUnityBadge
Unity3D - iOS VLC for Unity (iOS) 👁 VLCUnityBadge
Unity3D - macOS VLC for Unity (macOS) 👁 VLCUnityBadge

Pre-release versions

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 .

Getting started

Follow the . Make sure you read it since it contains platform-specific caveats

Documentation

Our is part of this repository and we also have an API docs website.

Feel free to browse it and if you see something missing, you can improve it by sending a PR.

It includes helpful documents such as:

This document details how to use LibVLCSharp in a correct way, notably taking into consideration the native interop part.

This is a Q&A document which I compiled from all the questions I got asked regarding LibVLC and LibVLCSharp. Continuously updated.

When you encounter an issue with LibVLC/LibVLCSharp, identifying the cause is not always straightforward. This document gives you clues on how to go about it.

This page focuses on the core native library and contains information regarding advanced libvlc configuration and its versioning strategy by VideoLAN.

This page indexes all available tutorial materials about LibVLCSharp. There are currently videos, talks, blogposts and code samples.

Here we list several interesting projects made by the community using LibVLCSharp. Feel free to send a PR to yours!

Ebook

In September 2022, the first book ever about LibVLC, the VideoLAN community and LibVLCSharp was released!

The Good Parts of LibVLC contains everything you need to know about VLC, LibVLC and how to use it from .NET with LibVLCSharp.

Samples

For more advanced samples, have a look at libvlcsharp-samples with apps such as:

  • Chromecast sample: Discover chromecasts on your local network and select one for playback in 100% shared code (Xamarin.Forms, iOS/Android).
  • Record HLS sample: Simple .NET Core CLI app which shows how to record an HLS stream to the filesystem.
  • RTSP Mosaic sample: Cross-platform RTSP player sample with 4 views mosaic (Xamarin.Forms, iOS/Android).
  • PulseMusic UX sample: A stylish music player UX example using Skia on iOS and Android.
  • Gestures sample: Cross-platform touch gestures and 360 videos on iOS and Android.
  • LocalNetwork sample: Cross-platform local network browsing and playback with network shares (SMB, UPnP) on Android, iOS and WPF.
  • MediaPlayerElement sample: Minimal iOS/Android sample showing how to get started with the crossplatform MediaPlayerElement control from LibVLCSharp.Forms.
  • SkiaSharp Preview Thumbnailer sample: .NET Core sample app showing how to use LibVLC 3 video callbacks and encode the frame with SkiaSharp before saving it to disk.
  • lvst: Watch a movie while it is downloading! lvst is a .NET Core CLI app using MonoTorrent and LibVLCSharp for macOS, Linux and Windows.

Feel free to suggest and contribute new samples.

Quick API overview

using var libvlc = new LibVLC(enableDebugLogs: true);
using var media = new Media(libvlc, new Uri(@"C:\tmp\big_buck_bunny.mp4"));
using var mediaplayer = new MediaPlayer(media);

mediaplayer.Play();

Console.ReadKey();
  • LibVLC.cs: Main object pointing to a native libvlc instance in native code.
  • MediaPlayer.cs: Manages playback, offers event listeners and more. Accessible from VideoView with data-binding support.
  • Media.cs: Class representing and providing information about a media such as a video or audio file or stream.
  • VideoView.cs: Custom native view which holds a MediaPlayer object.
  • MediaDiscoverer.cs: This object should be used to find media on NAS and any SMB/UPnP-enabled device on your local network.
  • RendererDiscoverer.cs: Use this to find and use a Chromecast or other distant renderers.
  • Dialog.cs: Dialogs can be raised from the libvlc engine in some cases. Register callbacks with this object.

The and packages features a MediaPlayerElement control, similar to the ones provided by the .NET Framework on WPF and UWP. It currently supports iOS, Android and UWP (Uno only).

Roadmap

If you have a request or question regarding the roadmap, feel free to open an issue (using an issue template) or PR.

Versioning

As this is a libvlc binding, we try to follow the libvlc versioning scheme as much as possible. The versioning strategy is explained in the document.

Release Notes

Check out the file for details about each release.

Contribute

Pull request

Pull requests are more than welcome! If you do submit one, please make sure to read the first, and use our pull request template.

Gitlab issues

You can look through issues we currently have on the VideoLAN Gitlab. Please pick one of our GitLab issue templates so we can assist you better.

There are up for grabs tickets as well if you would like to start contributing.

Questions and Support

Bug trackers

You have encountered an issue and wish to report it to the VLC dev team?

You can create one on our Gitlab (using an issue template) for .NET related questions/problems.

For LibVLC/VLC specific issues, usually native code, please go to the bug tracker of the VLC project.

Before creating an issue or ticket, please double check for duplicates!

Discord

We are on 👁 Join the chat at https://discord.gg/3h3K3JF

StackOverflow

We regularly monitor the libvlcsharp tag on 👁 stackoverflow

Forum

If you have any question or if you're not sure it's actually an issue, please visit our forum.

Commercial services

If you would like VLC developers to provide you with:

  • custom development on LibVLC and/or LibVLCSharp,
  • training and workshops,
  • commercial licenses,
  • support services,
  • consulting services,
  • other multimedia services.

Feel free to contact us.

Code of Conduct

Please read and follow the VideoLAN CoC license.

Licenses

LibVLCSharp is released under the LGPLv2.1 and is also available under a commercial license.

Note: the .NET4.0 LibVLCSharp build references a nuget package that may indicate its license as the .NET Library license but it's actually opensource under MIT.

<br/> <div align="center"> <a href="https://code.videolan.org/videolan/LibVLCSharp"><img src="src/assets/icon.png"/></a> </div>

Product Versions Compatible and additional computed target framework versions.
.NET net5.0 net5.0 was computed.  net5.0-windows net5.0-windows was computed.  net6.0 net6.0 is compatible.  net6.0-android net6.0-android was computed.  net6.0-ios net6.0-ios was computed.  net6.0-maccatalyst net6.0-maccatalyst was computed.  net6.0-macos net6.0-macos was computed.  net6.0-tvos net6.0-tvos was computed.  net6.0-windows net6.0-windows was computed.  net7.0 net7.0 was computed.  net7.0-android net7.0-android was computed.  net7.0-ios net7.0-ios was computed.  net7.0-maccatalyst net7.0-maccatalyst was computed.  net7.0-macos net7.0-macos was computed.  net7.0-tvos net7.0-tvos was computed.  net7.0-windows net7.0-windows was computed.  net8.0 net8.0 is compatible.  net8.0-android net8.0-android was computed.  net8.0-browser net8.0-browser was computed.  net8.0-ios net8.0-ios was computed.  net8.0-maccatalyst net8.0-maccatalyst was computed.  net8.0-macos net8.0-macos was computed.  net8.0-tvos net8.0-tvos was computed.  net8.0-windows net8.0-windows was computed.  net9.0 net9.0 is compatible.  net9.0-android net9.0-android was computed.  net9.0-android35.0 net9.0-android35.0 is compatible.  net9.0-browser net9.0-browser was computed.  net9.0-ios net9.0-ios was computed.  net9.0-ios18.0 net9.0-ios18.0 is compatible.  net9.0-maccatalyst net9.0-maccatalyst was computed.  net9.0-macos net9.0-macos was computed.  net9.0-macos15.0 net9.0-macos15.0 is compatible.  net9.0-tvos net9.0-tvos was computed.  net9.0-tvos18.0 net9.0-tvos18.0 is compatible.  net9.0-windows net9.0-windows was computed.  net10.0 net10.0 is compatible.  net10.0-android net10.0-android was computed.  net10.0-android36.0 net10.0-android36.0 is compatible.  net10.0-browser net10.0-browser was computed.  net10.0-ios net10.0-ios was computed.  net10.0-ios26.0 net10.0-ios26.0 is compatible.  net10.0-maccatalyst net10.0-maccatalyst was computed.  net10.0-macos net10.0-macos was computed.  net10.0-tvos net10.0-tvos was computed.  net10.0-windows net10.0-windows was computed. 
.NET Core netcoreapp1.0 netcoreapp1.0 was computed.  netcoreapp1.1 netcoreapp1.1 was computed.  netcoreapp2.0 netcoreapp2.0 was computed.  netcoreapp2.1 netcoreapp2.1 was computed.  netcoreapp2.2 netcoreapp2.2 was computed.  netcoreapp3.0 netcoreapp3.0 was computed.  netcoreapp3.1 netcoreapp3.1 was computed. 
.NET Standard netstandard1.1 netstandard1.1 is compatible.  netstandard1.2 netstandard1.2 was computed.  netstandard1.3 netstandard1.3 was computed.  netstandard1.4 netstandard1.4 was computed.  netstandard1.5 netstandard1.5 was computed.  netstandard1.6 netstandard1.6 was computed.  netstandard2.0 netstandard2.0 is compatible.  netstandard2.1 netstandard2.1 is compatible. 
.NET Framework net40 net40 is compatible.  net403 net403 was computed.  net45 net45 was computed.  net451 net451 was computed.  net452 net452 was computed.  net46 net46 was computed.  net461 net461 was computed.  net462 net462 was computed.  net463 net463 was computed.  net47 net47 was computed.  net471 net471 is compatible.  net472 net472 was computed.  net48 net48 was computed.  net481 net481 was computed. 
MonoAndroid monoandroid monoandroid was computed.  monoandroid81 monoandroid81 is compatible. 
MonoMac monomac monomac was computed. 
MonoTouch monotouch monotouch was computed. 
Tizen tizen30 tizen30 was computed.  tizen40 tizen40 was computed.  tizen60 tizen60 was computed. 
Universal Windows Platform uap uap was computed.  uap10.0 uap10.0 was computed. 
Windows Phone wpa81 wpa81 was computed. 
Windows Store netcore netcore was computed.  netcore45 netcore45 was computed.  netcore451 netcore451 was computed. 
Xamarin.iOS xamarinios xamarinios was computed.  xamarinios10 xamarinios10 is compatible. 
Xamarin.Mac xamarinmac xamarinmac was computed.  xamarinmac20 xamarinmac20 is compatible. 
Xamarin.TVOS xamarintvos xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (33)

Showing the top 5 NuGet packages that depend on LibVLCSharp:

Package Downloads
Uno.WinUI.Runtime.Skia.X11

This package provides the platform support for Skia / X11 in Uno Platform projects.

LibVLCSharp.Forms

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. Mono, .NET Framework and .NET Core runtimes are supported. LibVLCSharp.Forms contains the Xamarin.Forms support for LibVLCSharp through custom renderers. It depends on LibVLCSharp and brings Xamarin.Forms support for: - Android, - iOS, - Mac. Xamarin.Forms support for GTK and WPF are in separate packages. LibVLC needs to be installed separately, see VideoLAN.LibVLC.* packages.

LibVLCSharp.WPF

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. Mono, .NET Framework and .NET Core runtimes are supported. LibVLCSharp.WPF contains the integration with Windows Presentation Foundation (WPF). This package contains the views that allows to display a video played with LibVLCSharp in a WPF app. It depends on LibVLCSharp. LibVLC needs to be installed separately, see VideoLAN.LibVLC.* packages.

Uno.WinUI.MediaPlayer.Skia.Gtk

This package provides support for MediaPlayerElement for Uno Platform Skia+Gtk apps

Uno.UI.MediaPlayer.Skia.Gtk

This package provides support for MediaPlayerElement for Uno Platform Skia+Gtk apps

GitHub repositories (13)

Showing the top 13 popular GitHub repositories that depend on LibVLCSharp:

Repository Stars
unoplatform/uno
Open-source platform for building cross-platform native Mobile, Web, Desktop and Embedded apps quickly. Create rich, C#/XAML, single-codebase apps from any IDE. Hot Reload included! 90m+ NuGet Downloads!!
huynhsontung/Screenbox
LibVLC-based media player for the Universal Windows Platform
ispysoftware/iSpy
Open source surveillance software
dorisoy/Dorisoy.Pan
Dorisoy.Pan 是基于 .NET 10 的跨平台文档管理系统,使用 MS SQL 2012 / MySQL 8.0(或更高版本)后端数据库,您可以在 Windows、Linux 或 Mac 上运行它。项目中的所有方法都是异步的,支持 JWT 令牌身份验证,项目体系结构遵循 CQRS + MediatR 模式和最佳安全实践。源代码完全可定制,热插拔且清晰的体系结构,使开发定制功能和遵循任何业务需求变得容易。
lofcz/LLMTornado
The .NET library to build AI agents with 30+ built-in connectors.
LANCommander/LANCommander
Anthonyy232/Nagi
Rediscover your local music collection with Nagi, a music player focused on speed, simplicity, and privacy. Nagi is built with C# and WinUI 3 to offer a clean, native Fluent experience. It's beautiful, efficient, and respects your privacy.
Serg-Norseman/GEDKeeper
GEDKeeper - program for work with personal genealogical database
timkicker/podliner
Podcasts in any terminal. Fast, clean, offline.
Difegue/Stylophone
A pretty cool™️ MPD client in .NET. Based on MpcNET.
SuRGeoNix/BitSwarm
Bittorrent library for clients & streaming purposes
trojannemo/Nautilus
Tool suite to create, edit and work with Rock Band files
axx0/Civ2-clone
An open-source re-implementation of Civilization 2
Version Downloads Last Updated
3.10.0 356 6/17/2026
3.9.7.1 75,368 4/21/2026
3.9.7 4,828 4/16/2026
3.9.6 20,907 2/25/2026
3.9.5 46,830 12/3/2025
3.9.4 61,215 8/4/2025
3.9.3 58,096 4/15/2025
3.9.2 55,598 1/22/2025
3.9.1 53,084 11/13/2024
3.9.0 53,015 8/13/2024
3.8.5 44,554 5/23/2024
3.8.4 5,119 5/15/2024
3.8.3 1,614 5/13/2024
3.8.2 72,062 11/7/2023
3.8.1 21,405 10/17/2023
3.8.0 10,501 9/26/2023
3.7.0 586,704 4/4/2023
3.6.8 29,022 3/15/2023
3.6.7 66,346 10/3/2022
3.6.6 97,001 3/23/2022
Loading failed