GitPedia

Mcav

Comprehensive Java Multimedia Framework

From PulseBeat02·Updated June 15, 2026·View on GitHub·

[![TeamCity Full Build Status](https://img.shields.io/teamcity/build/s/mcav_Build?server=https%3A%2F%2Fci.brandonli.me )](https://ci.brandonli.me/project/mcav) The project is written primarily in Java, distributed under the GNU General Public License v3.0 license, first published in 2021. Key topics include: dithering, efficient, ffmpeg, halftoning, image.

CodeFactor
TeamCity Full Build Status
Quality Gate Status

Banner
Sponsor
Description

Developer

<img align="right" src="developer.png" alt="My Image">

⚙️ PulseBeat02


MCAV (pronounced EM CAV) is an incredibly powerful multimedia library and plugin 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. MCAV also is capable of rendering browsers using Selenium and Playwright, or
even virtual machines using QEMU. All of this is supported within the library and plugin itself.

The plugin is an example demonstrating the power of the library. For media playback, it supports several thousands of
websites that can be listed here, some of which include
YouTube, Twitch, SoundCloud, CNN, you name it. You're also able to play local files, stream from IP cameras, screen-share
using an OBS virtual camera, and much more. All of this combined with audio playback, which you can use a website to
stream audio to, Simple Voice Chat, or a Discord bot to play audio in voice channels.

QEMU is not installed by default. MCAV can run out of the box for all Windows and MacOS. MCAV is also supported on most
Debian/Debian-based Linux distributions alongside a command-line argument you must pass to the JVM to allow installed
libraries to be found. Please check the documentation for more information.

Watch the video

Click to watch a demo video above.


Modules

Here is a list of all the modules that are included in MCAV

ModuleDescription
sandbox:pluginA Paper plugin for Minecraft servers that utilizes all the features of MCAV.
sandbox:modA Fabric mod for Minecraft servers that utilizes all the features of MCAV (in heavy development).
mcav-commonThe core library for multimedia functionality.
mcav-bukkitA Bukkit-specific module for Minecraft plugins.
mcav-installerA simple installer for installing and injecting required libraries across all different modules of MCAV.
mcav-jdaA module integrating with the Java Discord API to play audio in Discord voice channels.
mcav-httpA module with Spring Boot back-end and Typescript front-end to stream PCM audio to an HTTP website.
mcav-vmA module integrating with QEMU to run virtual machines.
mcav-vncA module interacting with VNC servers to capture video and control remote desktops.
mcav-browserA module using Selenium and Playwright to provide browser support.
mcav-lwjglA module using LWJGL to provide OpenGL support for rendering video and images.
mcav-svcA module using Simple Voice Chat to serve audio.

Contributing

MCAV is looking for contributors to help improve the library and plugin. We need

  • Web Developers (Typescript, React, NextJS) to help improve the front-end of the HTTP module.
  • Back-end Developers (Java, Spring Boot) to help improve the back-end of the HTTP module.
  • Java Developers to help improve the core library.
  • Fabric Developers to help improve the Fabric mod.
  • Bukkit Developers to help improve the Bukkit module and the sandbox plugin.
  • Writers to help improve the documentation and tutorials.
  • Testers to help test the library and plugin.
  • Content Creators to help promote the library and plugin.
  • And much more!

For a curated list of issues to work on, please check out the TODO file.


Licensing

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.

LibraryLicense
VideoLAN/VLCGPLv2 (or later)
FFmpeg/FFmpegGPLv2 (or later)
OpenCV/OpenCVApache 2
caprica/vlcjGPLv3
bytedeco/javacvApache 2
yt-dlp/yt-dlpUnlicense
rkalla/imgscalrApache 2
Bukkit/BukkitGPLv3

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.


Contributors / Acknowledgements

DeveloperContribution
BananaPuncher714Original Inspiration
Jetp250Implemented Java Floyd-Steinberg dithering
EmilyyAssisted with implementation and testing
ConclureAssisted with Maven to Gradle migration
itxfrostyDeveloped a Discord bot for music integration
Rouge_RamDeveloped a Discord bot used in Discord Server
SponsorDonation
Vijay Pondini$10.00
Matthew Holden$6.00

MCAV Projects

ProjectDescription
MakiDesktopControlling VNC through Minecraft Maps
MakiScreenStreaming OBS onto Minecraft Maps

Legacy Demo

https://user-images.githubusercontent.com/40838203/132433665-a675fc35-e31f-4044-a960-ce46a8fb7df5.mp4

Contributors

Showing top 7 contributors by commit count.

View all contributors on GitHub →

This article is auto-generated from PulseBeat02/mcav via the GitHub API.Last fetched: 6/23/2026