| Config | Initial commit | |
| Resources | Initial commit | |
| Source | Initial commit | |
| ThirdParty/FFmpeg/include | Initial commit | |
| .gitattributes | Initial commit | |
| .gitignore | Initial commit | |
| BuildLinux.sh | Initial commit | |
| COPYING | Initial commit | |
| FFmpegPlayer.uplugin | Initial commit | |
| LICENSE.LGPL-2.1 | Initial commit | |
| LICENSE.MIT | Initial commit | |
| README.md | Initial commit | |
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:
- Downloads FFmpeg 8.1 source code (
release/8.1). - Configures with optimal flags (shared, PIC, minimal dependencies).
- Compiles libraries (
libavcodec,libavformat...). - Strips debug symbols.
- Copies binaries to
ThirdParty/ffmpeg/lib/linux(or platform equivalent).
Usage
Basic Setup in Unreal Editor
- Create a File Media Source asset.
- Select your video file (e.g.,
Video.mp4). - Create a Media Player component in your level.
- Assign the Media Source to the Player.
- 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.
- FFMPEGMedia: Original UE4 plugin by
bakjos. - FFMPEGMediaUE5: Port to UE5 by
surgeshi.
Third-Party
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.