COWMODSКаталог модов

MapEngine Media Extension

FFmpeg Media Extension library for MapEngine

Автор: pianoman9112,5 тыс.21обновлён 11 февр. 2025 г.
БиблиотекиУтилиты

Описание

MapEngine Media Extension

logo

GitHub tag (latest by date) AGPLv3 License Status Beta

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.

RuntimeDependencyLoading

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

  1. Clone the project (git clone https://github.com/MinceraftMC/MapEngine-MediaExtension.git)
  2. Go to the cloned directory (cd MapEngine-MediaExtension)
  3. Build the Jar (./gradlew build on Linux/MacOS, gradlew build on Windows)

The plugin jar can be found in the build → libs directory.

Галерея

Streaming via OBS

Последние версии

Все версии →
beta

MapEngine Media Extension 1.1.4

1.1.4
11 февр. 2025 г.791Minecraft: 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5paper, purpur
Скачать
Что нового
- Upstream update javacv **Full Changelog**: https://github.com/TheJoCraftNET/MapEngine-MediaExtension/compare/v1.1.3...v1.1.4
beta

MapEngine Media Extension 1.1.3

1.1.3
30 мая 2024 г.418Minecraft: 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4paper, purpur
Скачать
Что нового
- Upstream update javacv **Full Changelog**: https://github.com/TheJoCraftNET/MapEngine-MediaExtension/compare/v1.1.2...v1.1.3
beta

MapEngine Media Extension 1.1.2

1.1.2
5 нояб. 2023 г.329Minecraft: 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4paper, purpur
Скачать
Что нового
- Fixed color format of the converter **Full Changelog**: https://github.com/TheJoCraftNET/MapEngine-MediaExtension/compare/v1.1.1...v1.1.2
beta

MapEngine Media Extension 1.1.1

1.1.1
5 нояб. 2023 г.133Minecraft: 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2paper, purpur
Скачать
Что нового
- Improved map engine frame converter - Fixed plugin name **Full Changelog**: https://github.com/TheJoCraftNET/MapEngine-MediaExtension/compare/v1.1.0...v1.1.1
beta

v1.1.0

1.1.0
7 авг. 2023 г.275Minecraft: 1.19.3, 1.19.4, 1.20, 1.20.1paper, purpur
Скачать
Что нового
- Updated javacv to 6.0 - Fixed fast playing playback - Added updater **Full Changelog**: https://github.com/TheJoCraftNET/MapEngine-MediaExtension/compare/v1.0.5...v1.1.0
alpha

MapEngine Media Extension v1.0.5

1.0.5
7 апр. 2023 г.210Minecraft: 1.19.3, 1.19.4paper, purpur
Скачать
Что нового
- Add the possibility to use the FFmpeg grabber as a host **Full Changelog**: https://github.com/TheJoCraftNET/MapEngine-MediaExtension/compare/v1.0.4...v1.0.5
alpha

MapEngine Media Extension v1.0.4

1.0.4
6 апр. 2023 г.160Minecraft: 1.19.3, 1.19.4paper, purpur
Скачать
Что нового
- More performance through better conversion **Full Changelog**: https://github.com/TheJoCraftNET/MapEngine-MediaExtension/compare/v1.0.3...v1.0.4
alpha

MapEngine Media Extension 1.0.3

1.0.3
5 апр. 2023 г.151Minecraft: 1.19.3, 1.19.4paper, purpur
Скачать