koru/FFmpegPlayer
Archived
SHA256
1
0
Fork
You've already forked FFmpegPlayer
0
A high-performance, cross-platform media player plugin for Unreal Engine 5 powered by FFmpeg.
This repository has been archived on 2026年06月14日. You can view files and clone it, but you cannot make any changes to its state, such as pushing and creating new issues, pull requests or comments.
  • C 87.6%
  • C++ 11%
  • C# 0.6%
  • XML 0.5%
  • Shell 0.2%
2026年06月14日 18:47:39 +00:00
Config Initial commit 2026年06月14日 18:47:39 +00:00
Resources Initial commit 2026年06月14日 18:47:39 +00:00
Source Initial commit 2026年06月14日 18:47:39 +00:00
ThirdParty/FFmpeg/include Initial commit 2026年06月14日 18:47:39 +00:00
.gitattributes Initial commit 2026年06月14日 18:47:39 +00:00
.gitignore Initial commit 2026年06月14日 18:47:39 +00:00
BuildLinux.sh Initial commit 2026年06月14日 18:47:39 +00:00
COPYING Initial commit 2026年06月14日 18:47:39 +00:00
FFmpegPlayer.uplugin Initial commit 2026年06月14日 18:47:39 +00:00
LICENSE.LGPL-2.1 Initial commit 2026年06月14日 18:47:39 +00:00
LICENSE.MIT Initial commit 2026年06月14日 18:47:39 +00:00
README.md Initial commit 2026年06月14日 18:47:39 +00:00

FFmpegPlayer

Warning

ARCHIVED PLUGIN! PLEASE FORK IT!

A high-performance, cross-platform media player plugin for Unreal Engine 5.5+ powered by FFmpeg 8.1. This plugin enables advanced video playback capabilities, including formats not supported by the default engine player (Electra Player), with focus on stability.

FFmpeg Player Plugin Screenshot

Features

Fork focuses on updated codebase and fixing critical issues for production use.

Core Functionality

  • Cross-Platform Support: Linux, Windows, MacOS, Android.
  • Format Support: mov, mp4, m4a, 3gp, 3g2, mj2, webm (via FFmpeg).
  • Alpha Channel Support: Playback for videos with transparency.
  • Hardware Acceleration: Support for NVDEC/CUDA and other HW backends where available.

Installation

Prerequisites

You need basic build tools installed on your system.

gcc yasm nasm pkg-config libtool cmake git

Note

For other platforms, refer to the official FFmpeg compilation guide.

Build

The plugin comes with a build script to compile FFmpeg 8.0 from source. This ensures binary compatibility and access to the latest codecs.

Run the provided shell script to download and compile FFmpeg for your current platform.

git clone https://codeberg.org/koru/FFmpegPlayer.git && cd FFmpegPlayer
chmod +x BuildLinux.sh && ./BuildLinux.sh

What the script does:

  1. Downloads FFmpeg 8.1 source code (release/8.1).
  2. Configures with optimal flags (shared, PIC, minimal dependencies).
  3. Compiles libraries (libavcodec, libavformat...).
  4. Strips debug symbols.
  5. Copies binaries to ThirdParty/ffmpeg/lib/linux (or platform equivalent).

Usage

Basic Setup in Unreal Editor

  1. Create a File Media Source asset.
  2. Select your video file (e.g., Video.mp4).
  3. Create a Media Player component in your level.
  4. Assign the Media Source to the Player.
  5. Enable Loop on the Media Source if needed.

C++ Access

#include "MediaAssets.h"#include "MediaPlayer.h"
UMediaPlayer* MediaPlayer = YourMediaPlayerComponent->GetMediaPlayer();
MediaPlayer->OpenUrl(FString("path/to/video.mp4"));
MediaPlayer->Play();

Credits

This project is based on the work of the original authors but has been significantly refactored to support Unreal Engine 5.6+ and modern FFmpeg.

Third-Party

  • FFmpeg
    • License: LGPL v2.1.
    • Note: FFmpeg libraries are dynamically linked.

License

FFmpegPlayer is licensed under the MIT License (MIT) where applicable.

FFmpeg libraries are distributed under LGPL v2.1+ and must comply with their license terms. See FFmpeg Legal FAQ for details.