Code Monkey home page Code Monkey logo

native-library-loader's Introduction

Build Status Code Coverage Dependency Status Documentation Status Discord Language

EzMediaCore


EzMediaCore is a library written in Java using the Spigot API and NMS classes to provide a helpful tool for other media plugins to take advantage of. One of the most fascinating features include the ability to render videos on a Spigot server.

In order to maintain fast processing speeds, algorithms such as dithering, hardware acceleration, and use of native code is utilized. The library primarily uses VLC Media Player and FFmpeg, for blazing fast frame delivery and support for many sorts of media formats (including streams).

example-playback.mp4

Frame rates can reach up to the 30's or 40's with extremely great quality. As a comparison, a smooth animation is approximately 25 frames. The library is capable of playing media in many sorts of ways, such as maps, entities, chat, scoreboards, debug markers. It is also capable of providing audio through a resourcepack, website, and Discord bot (primarily for playing streams).


Prerequisites

  • Java 17
  • Minecraft versions 1.18.2 and 1.19 supported.

Add the following to your gradle configuration:

repositories {  
    maven("https://pulsebeat02.jfrog.io/artifactory/minecraftmedialibrary/")
}  
dependencies {  
    implementation("io.github.pulsebeat02:EzMediaCore:v1.0.0")
}  

Take a look at this module for examples on how to use the library. It is the plugin I used that displayed the video.


Building Locally

  1. Run BuildTools for versions 1.18.2 and 1.19.
  2. Clone the repository by using the following Git link: https://github.com/MinecraftMediaLibrary/EzMediaCore.git
  3. Run gradlew shadowJar on the parent project to build a jar for the plugin.

Partnerships

BisectHosting

I'd like to also thank BisectHosting for sponsoring open-source projects such as this one as well. Use code pulse on your next purchase to get 25% off your next server!


Contributors / Acknowledgements

Developer Contribution
BananaPuncher714 Created the original MinecraftVideo plugin
Jetp250 Developed Floyd Steinberg dithering
Emilyy Assisted with implementation and testing
Conclure Assisted with Maven to Gradle migration
itxfrosty Developed a Discord bot for music integration
Rouge_Ram Developed a Discord bot used in Pulse Development!
Sponsor Donation
Vijay Pondini $10.00
Matthew Holden $6.00
Project / Dependency Contribution
VLCJ made by caprica VLC Media Player Bindings
VLC Media Player Native Backend Support
Jaffree made by kokorin FFmpeg Integration (NUT Container)
FFmpeg Native Media Encoding and Decoding

Projects that use EzMediaCore Code

Project Description
MakiDesktop Controlling VNC through Minecraft Maps
MakiScreen Streaming OBS onto Minecraft Maps

native-library-loader's People

Contributors

pulsebeat02 avatar renovate-bot avatar renovate[bot] avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

native-library-loader's Issues

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Open

These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

Detected dependencies

gradle
settings.gradle.kts
build.gradle.kts
  • com.github.hierynomus.license-base 0.16.1
  • net.java.dev.jna:jna-platform 5.13.0
  • net.java.dev.jna:jna 5.13.0
  • org.junit.jupiter:junit-jupiter-api 5.9.2
  • org.junit.jupiter:junit-jupiter-engine 5.9.2
gradle-wrapper
gradle/wrapper/gradle-wrapper.properties
  • gradle 7.6

  • Check this box to trigger a request for Renovate to run again on this repository

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.