GithubHelp home page GithubHelp logo

isabella232 / vlc-unity Goto Github PK

View Code? Open in Web Editor NEW

This project forked from videolan/vlc-unity

0.0 0.0 0.0 71.92 MB

LibVLC plugin for Unity to integrate multimedia playback inside your Unity apps and games

License: Other

Shell 0.12% C++ 2.27% C 95.94% C# 1.59% Makefile 0.07%

vlc-unity's Introduction

VLC for Unity

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

This repository contains the native Unity plugin that bridges LibVLCSharp with LibVLC for performance oriented video rendering in Unity3D applications and games. Available on the Unity Store.

LibVLC Features

Given that this plugin is using LibVLCSharp (which uses LibVLC), it exposes more or less the same feature set and same codecs support than VLC, 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.

And more.

Supported platforms

  • Windows Classic
    • Minimum OS version: Windows 7.
    • ABI supported: x64.
    • Graphics API: Direct3D 11
  • Android:
    • Minimum OS version: Android 4.2 (API 17).
    • ABIs supposed: armeabi-v7a, arm64-v8a, x86, x86_64.
    • Graphics API: OpenGL ES 2/3

Installation

The recommended way to install the VLC for Unity plugin is through the Unity Store. This also ensures you get commercial support with your build.

Platform Unity Store Asset
Windows VLCUnityBadge
Android VLCUnityBadge

Download the Free Trial Version.

Getting started

There is a quick documentation.txt file included in the package. It gives some context and high level overview of how things work and how to get started.

Since this Unity plugin largely shares the same API than LibVLCSharp, most LibVLCSharp samples and documentation apply, do check those out!

Documentation

See the LibVLCSharp documentation.

It includes best practices, Q&A guide, libvlc specific information and tutorials.

Support

Support is done on a volunteer base, professional support is only available for paying customers.

StackOverflow

We regularly monitor the stackoverflow-libvlcsharp and stackoverflow-vlc-unity tags on StackOverflow.

Sample scenes

Several Unity sample scenes are available to help you get started quickly!

  • A minimal playback example with buttons,
  • 360 playback with keyboard navigation built-in,
  • A video with subtitles showcasing support,
  • The VLCPlayerExample provides a great base with more controls,
  • 3D scene you can move around in with a movie screen and chairs in a cinema room.

More LibVLCSharp samples can be found here.

Roadmap

Future platforms support

  • macOS, iOS, tvOS,
  • UWP,
  • Linux.

Graphics APIs

  • OpenGL,
  • Vulkan,
  • Metal.

Other improvements

  • Provide in-Editor MediaPlayer customization, so you can customize LibVLC and playback parameters directly from the Unity Editor.

Release Notes

Check out the NEWS file for details about each release.

Building

Windows

  • Download and install https://github.com/mstorsjo/llvm-mingw on latest Debian (WSL or otherwise). Add it to path.
  • run ./get-libvlc-windows.sh to download a win64 llvm libvlc 4 build.
  • Build with
./build.sh

This will produce a VLCUnityPlugin.dll which you can use with LibVLCSharp in your Unity project

  • Extract the vlc-cache-gen.exe binary from the nightly build archive. Drag and drop the plugins folder onto it. Or just run the Unity scene with _libVLC = new LibVLC("--reset-plugins-cache");. This will produce a plugins.dat file in the plugins folder.

Android

After having built libvlc 4+ for android, extract the .jar classes from the JNI binding in addition to the .so binaries and type:

./build.sh -p android -a armeabi-v7a

Debugging

Editor crash location: C:\Users\YourUserName\AppData\Local\Temp\Unity\Editor\Crashes

Code of Conduct

Please read and follow the VideoLAN CoC.

Commercial services

If you would like VLC developers to provide you with:

  • custom development on LibVLC, VLC for Unity and/or LibVLCSharp,
  • training and workshops,
  • support services,
  • consulting services,
  • other multimedia services.

Feel free to contact us.

License

Licensed under the LGPL 2.1 and prorietary license via Videolabs.


vlc-unity's People

Contributors

brisingre avatar chubinou avatar jeremyvignelles avatar keijiro avatar mfkl avatar r8420 avatar robux4 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.