MapEngine Media Extension
No reviews yet
FFmpeg Media Extension library for MapEngine
Provides a framework or library for other mods to use.
Paper is a fork of Spigot that adds its own plugin API on top of the Bukkit API. All Spigot plugins are compatible with paper, not all paper plugins are compatible with Spigot.
Community voices
Reviews
Click once to include, again to exclude, again to clear
No reviews yet. Be the first to review this project!
Get it on
Available Platforms
Compatibility
Supported Environments
About
Project Details
For authors
Embed Badge
If you're the author of this project, you can embed a live badge anywhere that supports HTML or Markdown. It updates automatically whenever ratings change.
Use HTML for any page that supports it, or Markdown for README files and Markdown-based descriptions.
Identifiers
Platform IDs
About
Description
MapEngine Media Extension
Description
MapEngine Media Extension is an extension library for MapEngine. It provides an additional API for playing video and streaming live content using MapEngine.
The Extension uses bytedeco/javacv's FFmpeg implementation for decode media. JavaCV, JavaCPP and FFmpeg will be downloaded on server startup and loaded into the classpath. This plugin downloads only the currently needed libraries for the current operating system and architecture.
Features
- Runtime dependency downloader
- FFmpeg based media decoding
Downloading native libraries
This is an example of native libraries being downloaded on server startup.

Live streaming via RTMP on maps
This is an example of a live stream on a map. The stream is played on a 7x4 map array. The Stream source is 1920x1080@20 streamed with OBS.
Usage
MapMediaExt has to be added as a dependency to the plugin.yml regardless of the build system used.
Maven
<repositories>
<repository>
<id>minceraft</id>
<url>https://repo.minceraft.dev/releases/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>de.pianoman911</groupId>
<artifactId>mapengine-mediaext</artifactId>
<version>1.1.2</version>
<scope>provided</scope>
</dependency>
</dependencies>
Gradle (groovy)
repositories {
maven {
url = 'https://repo.minceraft.dev/releases/'
name = 'minceraft'
}
}
dependencies {
compileOnly 'de.pianoman911:mapengine-mediaext:1.1.2'
}
Gradle (kotlin)
repositories {
maven("https://repo.minceraft.dev/releases/") {
name = "minceraft"
}
}
dependencies {
compileOnly("de.pianoman911:mapengine-mediaext:1.1.2")
}
Example
public class Bar {
public void foo(IMapDisplay display, URI streamUri) {
// create a drawing space for the display
IDrawingSpace space = plugin.mapEngine().pipeline().drawingSpace(display);
// add all online players as receivers
space.ctx().receivers().addAll(Bukkit.getOnlinePlayers());
// create a new frame source with a 10 frame buffer and rescaling enabled
FFmpegFrameSource source = new FFmpegFrameSource(streamUri, 10, space, true);
// start the decoding process
source.start();
}
}
More detailed examples can be found in the MinceraftMC/MapEngineExamples repository.
Building
- Clone the project (
git clone https://github.com/MinceraftMC/MapEngine-MediaExtension.git) - Go to the cloned directory (
cd MapEngine-MediaExtension) - Build the Jar (
./gradlew buildon Linux/MacOS,gradlew buildon Windows)
The plugin jar can be found in the build → libs directory.
Versions
Files
Relations
Project Relations
More like this
Similar Mods
Suggestions use data such as tags, dependencies, dependents, descriptions, titles, and more to rank how much they overlap with this mod.
On ModDex
Community snapshot
By the numbers
Statistics
Want to reach Minecraft players?
We're looking for a server hosting partner to feature here and other parts of the site. Interested? Send us a message!
Get in touchGet it on
Available Platforms
On ModDex
Community snapshot
By the numbers