⚙️ PulseBeat02
- Docs: https://mcav.readthedocs.io/en/latest/intro.html
- GitHub: https://github.com/PulseBeat02/mcav
- CI: https://ci.brandonli.me/project/mcav
- Support: https://discord.gg/cUMB6kCsh6
- Donate: https://ko-fi.com/pulsebeat_02
- Testing Server:
pulse.mcserver.us
MCAV (pronounced EM CAV) is an incredibly powerful multimedia library for Java, serving as the successor of EzMediaCore2. MCAV utilizes several low-level libraries like FFmpeg, OpenCV, and LibVLC (from VLC media player) to provide a seamless playback experience for developers and users. Designed for pure performance and compatability, MCAV isn't just a YouTube player, but a robust player for live-streams, local files, and even a web browser.
MCAV is not a library just for Java developers, but also a great library to integrate Minecraft plugins with. While you can use MCAV in any Java project, there's also a Bukkit-specific module that provides useful features allowing you to play videos like the following.
example-playback.mp4
Here is a list of all the modules that are included in MCAV
Module | Description |
---|---|
sandbox |
A Paper plugin for Minecraft servers that utilizes all the features of MCAV. |
mcav-common |
The core library for multimedia functionality. |
mcav-bukkit |
A Bukkit-specific module for Minecraft plugins. |
mcav-installer |
A simple installer for installing and injecting required libraries across all different modules of MCAV. |
mcav-jda |
A module for integrating with the Java Discord API to play audio in Discord voice channels. |
mcav-http |
A module for integrating with Javalin to stream PCM audio to an HTTP website. |
mcav-vm |
A module for integrating with QEMU to run virtual machines. |
mcav-vnc |
A module for integrating with VNC servers to capture video and control remote desktops. |
mcav-browser |
A module for integrating with Selenium to provide browser support. |
Please note that MCAV integrates several different libraries, each under different licenses based on what is incorporated into the project. The following table lists the libraries used in MCAV, and their respective licenses.
Library | License |
---|---|
VideoLAN/VLC | GPLv2 (or later) |
FFmpeg/FFmpeg | GPLv2 (or later) |
OpenCV/OpenCV | Apache 2 |
caprica/vlcj | GPLv3 |
bytedeco/javacv | Apache 2 |
yt-dlp/yt-dlp | Unlicense |
rkalla/imgscalr | Apache 2 |
Bukkit/Bukkit | GPLv3 |
As a result of this, the MCAV library is licensed under the GPLv3 license shown here. The Apache 2 License is compatible with the GPLv3 license, but not the GPLv2 license. You should license your project under the GPLv3 license or any other license that is compatible with the GPLv3 license.
Developer | Contribution |
---|---|
BananaPuncher714 | Original Inspiration |
Jetp250 | Implemented Java 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 Discord Server |
Sponsor | Donation |
---|---|
Vijay Pondini | $10.00 |
Matthew Holden | $6.00 |
Project | Description |
---|---|
MakiDesktop | Controlling VNC through Minecraft Maps |
MakiScreen | Streaming OBS onto Minecraft Maps |