Code Monkey home page Code Monkey logo

Comments (4)

mishal321 avatar mishal321 commented on June 22, 2024

Hey, pulse! Im interested in this.. How do you exactly implement this into a server...?

from ezmediacore.

PulseBeat02 avatar PulseBeat02 commented on June 22, 2024

Hey, pulse! Im interested in this.. How do you exactly implement this into a server...?

Hi mishal! Thank you for taking the time to take a look at this repository. The library is unfinished, but I can give you some information about how I implement this into a server.

Due to Java's slow code rate, we must (and should) use native libraries written in C/C++ for video playback because using Java would be just too slow. One of the ways to do this is by using VLC Media Player, or more specifically the binaries. There is another repository called VLCJ which creates VLC bindings in Java and allows certain callbacks to be handled. I use this technique as a way to fetch the frames from a video file.

Now obviously, this isn't as clean as cutting butter. There are some issues (such as VLCJ needing a VLC installation beforehand, but we can get to these later).

As for the main example, I use mainly Maps to render the video pixels. I display such pixels onto the map and send packets to the players who are able to view the packets. As an example, look at this NMS implementation here, where I set custom packets certain attributes in order to send the proper data to the clients.

As for rendering the pixels on the map, it is a bit harder. I could use a standard technique where I just try to display them onto the map, but this isn't possible because Minecraft has a limited palette (which was somewhere around 80 colors). That means I have to use a dithering algorithm to dither each of the frames of the picture. This allows for a better overall quality image. My dithering algorithms implementations can be found here. The fastest dithering algorithm while producing decent results would be Filter Lite dithering.

The repository is very big, but I documented a ton of the code. If you have any questions, however, feel free to just ask me here!

from ezmediacore.

mishal321 avatar mishal321 commented on June 22, 2024

Heya! Thanks for responding. Keep up the great work!

from ezmediacore.

PulseBeat02 avatar PulseBeat02 commented on June 22, 2024

Heya! Thanks for responding. Keep up the great work!

Thank you! I hope I can get it working soon.

from ezmediacore.

Related Issues (7)

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.