• Stars
    star
    264
  • Rank 155,103 (Top 4 %)
  • Language
    C++
  • License
    BSD 3-Clause "New...
  • Created over 9 years ago
  • Updated over 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Media Framework plug-in using the Video LAN Codec (libvlc).

VlcMedia

Unreal Engine 4 Media Framework plug-in using the Video LAN Codec (libvlc).

About

This plug-in is still under development and likely has a lot of remaining issues to be fixed. Use in production is not yet recommended.

Make sure to pull the Tag that matches your Unreal Engine version. If you sync to Master the code may not compile, because it may depend on Engine changes that are not yet available in the UE4 Master branch.

Supported Platforms

This plug-in was last built against Unreal Engine 4.19 and tested against the following platforms:

  • Linux (Ubuntu 16.04)
  • Mac
  • Windows

IMPORTANT: Please note that this repository contains pre-compiled binaries for libvlc and its plug-ins, which are licensed under LGPL. This means that you cannot create monolithic builds of your game without violating LGPL, the UE4 EULA or both. The libvlc libraries must remain dynamic libraries that are bound at run-time - static linking is not allowed - and the licensing related files in /ThirdParty/vlc must be retained.

This also means that this plug-in cannot work on platforms that do not support dynamically linked libraries (i.e. iOS, HTML5) or do not currently implement support for it (i.e. Android, XboxOne).

Epic is in the process of adding plug-in support to monolithic builds, but there is no ETA yet. Once this is supported, you will be able to distribute monolithic game and server builds with VlcMedia, provided that the libvlc libraries and plug-ins remain as separate DLLs.

Prerequisites

A relatively recent version of libvlc is required. The latest stable release (currently 2.2.1) is not sufficient.

For Mac and Windows, the following nightly builds are currently included:

  • macOS: vlc-4.0.0-20180319-0303-dev
  • Win32: vlc-4.0.0-20180319-0303-dev-win32
  • Win64: vlc-4.0.0-20180319-1331-dev-win64

Nightly builds can be downloaded from the VideoLAN web site (see below).

For debugging on Win32 and Win64, you can download debug builds and replace the corresponding files and folders in the VlcMedia/ThirdParty/vlc/ directory.

Linux (Ubuntu 16.04)

A suitable version of libvlc must be installed or compiled from source. If you ship your game on Linux, you will likely want to include libvlc with it, so that users don't have to install it themselves. We will eventually include those binaries in this repository, although it is not clear what distros should be supported and where the builds are coming from. A better workflow needs to be established for this (#17).

To clean up, clone, make and install VLC (including libvlc) into your project, run the VlcMedia/Build/Vlc4LinuxCloneMakeInstall.sh script from within your project's root folder. If you later need to make and re-install VLC from the existing VLC code, run the Vlc4LinuxMakeInstall.sh script instead.

Mac, Windows

All required libraries and plug-ins are included in the ThirdParty directory and work out of the box.

Dependencies

This plug-in requires Visual Studio and either a C++ code project or the full Unreal Engine 4 source code from GitHub. If you are new to programming in UE4, please see the official Programming Guide!

Usage

You can use this plug-in as a project plug-in, or an Engine plug-in.

If you use it as a project plug-in, clone this repository into your project's /Plugins directory and compile your game in Visual Studio. A C++ code project is required for this to work.

If you use it as an Engine plug-in, clone this repository into the /Engine/Plugins/Media directory and compile your game. Full Unreal Engine 4 source code from GitHub is required for this.

References

More Repositories

1

StreetMap

Import OpenStreetMap data into Unreal Engine
C++
2,143
star
2

LoadingScreen

A plugin for Unreal Engine 4 to expose simple controls for managing load screens.
C++
506
star
3

TextAsset

Unreal Engine 4 plug-in that adds a text asset and editor for personal notes.
C++
233
star
4

MobuLiveLink

Plugin for MotionBuilder that send data to Unreal Engine
C++
150
star
5

UEGeoCoordinates

Provide tools for users to express Coordinates in different Geographic Coordinates Reference Systems
C++
134
star
6

NdiMedia

Media Framework plug-in for NewTek's Network Device Interface (NDI).
C++
108
star
7

MayaLiveLink

Plugin for Maya that send data to Unreal Engine
104
star
8

JSONLiveLink

LiveLink Source for receiving JSON over sockets.
C++
99
star
9

CommandletPlugin

Unreal Engine 4 plug-in that demonstrates how to implement a commandlet.
C++
92
star
10

PythonSamples

Python
79
star
11

ObjectBrowser

Allows browsing all live UObjects in real-time.
C++
73
star
12

tk-unreal

Toolkit Integration in Epic's Unreal engine
Python
60
star
13

HoverPlugin

Unreal Engine 4 plug-in with hover effect components.
C++
38
star
14

GLTFWebViewer

TypeScript
34
star
15

GDC2016

Plug-in that implements the communication aspects of the McLaren demo at GDC 2016.
C++
34
star
16

tk-config-unreal

Unreal Integration based on tk-config-default2
Python
31
star
17

WindowsMessageHandlerExample

Example plug-in for the IWindowsMessageHandler API.
C++
28
star
18

Linter

C++
28
star
19

BlackmagicMedia

The Blackmagic Media plugin enables users to natively send SDI video in and out of Unreal Engine.
C++
22
star
20

MayaMLDeformer

ML Deformer Data Generation Maya plugin
Python
18
star
21

tk-framework-unrealqt

Packages PySide2 for the Shotgun/Unreal integration
Python
14
star
22

MotionCueingInterface

C++
11
star
23

LogiLed

C++
8
star
24

AndroidCamera

Plug-in to provide access to live preview from Android camera in mediaplayer
7
star
25

ExrMedia

Media Framework plug-in for EXR image sequences.
C++
7
star
26

UnrealPixelStreamingOnAzure

This repo contains the source code for the Unreal Pixel Streaming product on the Azure Marketplace.
CSS
6
star
27

MeMedia

Media Framework plug-in using the Windows Media Engine API.
C++
4
star
28

PhilipsHue

Plug-in for the Philips Hue family of personal wireless lighting devices.
C++
4
star
29

AjaMedia

The AJA Media plugin enables users to natively send SDI video in and out of Unreal Engine.
C++
4
star
30

tk-config-unrealbasic

Python
3
star