All Projects → mfkl → libvlc-nuget

mfkl / libvlc-nuget

Licence: LGPL-2.1 License
NuGet packaging setup for LibVLC

Programming Languages

C#
18002 projects
shell
77523 projects
perl
6916 projects

Projects that are alternatives of or similar to libvlc-nuget

react-native-vlc-media-player
React native media player for video streaming and playing. Supports RTSP, RTMP and other protocols supported by VLC player
Stars: ✭ 221 (+325%)
Mutual labels:  player, media, vlc
Libvlc Go
Go bindings for libVLC and high-level media player interface
Stars: ✭ 188 (+261.54%)
Mutual labels:  player, media, vlc
reactjs-media
The reactjs media is a react package with awesome HTMLMediaElements that are recreated into react components with a good looking UI and fast UX.
Stars: ✭ 15 (-71.15%)
Mutual labels:  player, media
Rise-Media-Player
One media player for everything you own or stream; whether it's music or videos, online or offline Rise Media Player does it all. And it's beautiful and native with the latest version of WinUI.
Stars: ✭ 600 (+1053.85%)
Mutual labels:  player, media
HAudioPlayer
AVPlayer再封装,实现类网易云音乐播放动画效果
Stars: ✭ 15 (-71.15%)
Mutual labels:  player, media
Jcplayer
🎵 A simple audio player for Android applications.
Stars: ✭ 209 (+301.92%)
Mutual labels:  player, media
TonUINO
Alternative TonUINO Firmware
Stars: ✭ 112 (+115.38%)
Mutual labels:  player, media
media-player
An modern, clean media player built using web technologies
Stars: ✭ 44 (-15.38%)
Mutual labels:  player, media
iptv-m3u-player
项目iptv-m3u-maker衍生项目,利用已分析出的数据进行播放的桌面端app
Stars: ✭ 73 (+40.38%)
Mutual labels:  player, media
awesome-vlc
👻 A curated list of awesome VLC and LibVLC resources.
Stars: ✭ 45 (-13.46%)
Mutual labels:  vlc, libvlc
playercast
Cast to media player and control playback remotely.
Stars: ✭ 46 (-11.54%)
Mutual labels:  media, vlc
Radio
Simple Android webradio player
Stars: ✭ 21 (-59.62%)
Mutual labels:  player, media
Ktvhttpcache
A powerful media cache framework.
Stars: ✭ 2,113 (+3963.46%)
Mutual labels:  player, media
CommenPlayer
CommenPlayer ——Video player, Support ijkPlayer, Vlc, MediaPlayer, ExoPlayer; 视频播放器,支持ijkPlayer,Vlc,MediaPlayer,ExoPlayer
Stars: ✭ 81 (+55.77%)
Mutual labels:  player, vlc
Clay
Awesome standalone command line player for Google Play Music.
Stars: ✭ 160 (+207.69%)
Mutual labels:  player, vlc
Player
▶️ video player in Swift, simple way to play and stream media on iOS/tvOS
Stars: ✭ 1,849 (+3455.77%)
Mutual labels:  player, media
Vime
Customizable, extensible, accessible and framework agnostic media player. Modern alternative to Video.js and Plyr. Supports HTML5, HLS, Dash, YouTube, Vimeo, Dailymotion...
Stars: ✭ 1,928 (+3607.69%)
Mutual labels:  player, media
Srgmediaplayer Apple
An advanced media player library, simple and reliable
Stars: ✭ 123 (+136.54%)
Mutual labels:  player, media
kaltura-player-android
Kaltura Player is a rich, easy to integrate and easy to use video player for all media types and ad scenarios you need. - based on Google ExoPlayer
Stars: ✭ 22 (-57.69%)
Mutual labels:  player, media
Chrome.RTSP.Player
Chrome RTSP player
Stars: ✭ 135 (+159.62%)
Mutual labels:  player, media

libvlc for .NET

Join the chat at https://discord.gg/3h3K3JF

This repository is about presenting libvlc and its capabilities to .NET developers. It also contains packaging tools and files for nuget packaging/deployment. In other words: It's just the same thing as if you had downloaded the files from VideoLAN's website, in a NuGet package, that you can add in your .NET project so that it gets copied into the output directory.

What is libvlc?

libvlc is the multimedia framework powering the VLC applications. It is fully opensource, so other apps use it too.

API documentation: https://www.videolan.org/developers/vlc/doc/doxygen/html/group__libvlc.html

it contains all modules, data structures and functions documentation to understand how to use the libvlc C API.

The source is in the main VLC repository: https://github.com/videolan/vlc

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). The unified, complete and (somewhat) high level libvlc C API allows a wide range of operations, such as:

  • 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.

Full list of the new 3.0 features can be found here: https://www.videolan.org/vlc/releases/3.0.0.html

Full directory tree overview of what's included (dlls, headers, lib files) in the nuget can be found at https://github.com/mfkl/libvlc-nuget/blob/master/tree.md

How do I use this thing from .NET?

There are usually 2 ways to go about consuming C code from .NET:

Versioning of the nuget packages naturally follow the libvlc versioning.

Build and packaging customization with MSBuild

How do I configure what gets copied to my output directory?

Currently, you can customize three things during the build:

Supported platforms

LibVLC 3:

Latest stable version is 3.0.14. Feel free to check out the release notes.

Minimum OS version supported by LibVLC 3.x:

  • Windows XP
  • macOS 10.7
  • iOS 7
  • Android 2.3

Windows Classic

 dotnet add package VideoLAN.LibVLC.Windows

NuGet version NuGet downloads

Supported CPU architectures:

  • x86
  • x64

Note: if you intend to use libvlc with UWP projects, you probably need to install the UWP package instead because this build directly uses win32 APIs.

Windows Universal

 dotnet add package VideoLAN.LibVLC.UWP

NuGet version NuGet downloads

Supported CPU architectures:

  • x86
  • x64
  • ARM

Android

dotnet add package VideoLAN.LibVLC.Android

NuGet Stats NuGet Stats

Supported CPU architectures:

  • armeabi-v7a
  • arm64-v8a
  • x86
  • x86_64

iOS

dotnet add package VideoLAN.LibVLC.iOS

NuGet Stats NuGet Stats

Supported CPU architectures:

  • i386
  • x86_64
  • ARMv7
  • ARM64

macOS

dotnet add package VideoLAN.LibVLC.Mac

NuGet Stats NuGet Stats

Supported CPU architecture:

  • x86_64

tvOS

 dotnet add package VideoLAN.LibVLC.tvOS 

NuGet Stats NuGet Stats

Supported CPU architecture:

  • x86_64
  • ARM64

Linux

For Ubuntu, follow this guide.

Unity3D

Platform Unity Store Asset
Windows VLCUnityWindowsBadge

Roadmap

  • More Unity back-ends and other game engines
  • WebAssembly
  • LibVLC 4

Commercial services

If you would like VLC developers to provide you with:

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

Feel free to contact us.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].