Comments (4)
Hey, pulse! Im interested in this.. How do you exactly implement this into a server...?
from ezmediacore.
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.
Heya! Thanks for responding. Keep up the great work!
from ezmediacore.
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
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ezmediacore.