
MCCinema
Paper plugin to play back videos (with audio) in-game without the use of clientside mods. Now with Livestream support!
- Загрузки
- 688
- Подписчики
- 8
- Обновлён
- 2 июля 2026 г.
- Лицензия
- GPL-3.0-only
Опубликован 17 февраля 2026 г.
Paper plugin to play back video (and audio) in-game without the use of clientside mods.
Features
- Play local MP4/MKV/AVI/WEBM files or download videos directly from YouTube (optional)
- Play Livestreams directly from Twitch or YouTube by simply using an URL instead (no audio).
- Automatic resource pack generation and hosting for synchronized audio playback for videos.
- True 1080p or even 4K playback with efficient tile-based rendering
- Only limit is the server and player bandwidth.
- Improved bandwidth usage. Down to 8 MB/s for a really large (2176x896) screen.
- Significantly improved visual quality
- Floyd-Steinberg, Stucki or Atkinson dithering with temporal noise reduction
- Full playback controls: pause, resume, seek, and skip
- Audio is sliced into seamless chunks to work around Minecraft's audio limitations
- Various compression techniques are used to reduce bandwidth usage as much as possible by only updating whats actually needed
- Selective updating, downsampling, dirty region detection and more
Basic usage
All commands have helpful tab-completion available
- Use
/mcc create <screen id> <aspect ratio> [x] [y]while looking at the lower left corner to create a screen- Tip: Make sure your screen is evenly lit, e.g. using light blocks.
- Place your video
.mp4files in/plugins/MCCinema/videos/ - Use
/mcc play <screen id> <video>to start playback. Optionally include the--audio <chunk size>parameter to play with audio.- For audio, this plugin will use mcpacks.dev for Resourcepack hosting by default.
- Alternatively, it can automatically host a resourcepack server if audio is enabled. On some hosts this may fail.
- To allow for resuming and pausing of playback, audio data is split into chunks of
<chunk size>seconds in length. The default value of 10s is usually good.
- You can use
/mcc quality <screen> <performance/balanced/quality>to change playback quality settings. This will have a significant effect on bandwidth and CPU usage.
To download videos from YouTube, run /mcc download.
There is some first-time setup required for this. You will be asked to confirm the yt-dlp download. Due to YTs anti-bot measures, you also may need to install a JS runtime on your machine for yt-dlp to work properly.
But of course you can also always download YouTube videos manually and place them in /videos/ yourself!
A note on bandwidth usage:
This plugin will inevitably create a lot of traffic. Minecraft isn't really a great video player.
This is optimized as best as possible (and likely better than many similar plugins), however it can still be a lot.
The actual amount of traffic scales with two factors: Screen size, and how dynamic the video is. Videos with very little movement such as slideshows will barely generate any traffic.
You can see live metrics, including bandwidth usage, using /mcc debug <screen id>. However note that those metrics are before compression. You can press F3+3 to get the built-in bandwidth graph, which will give you after compression bandwidth.
One example on a reasonably sized (7x4 blocks, 896x512) screen:
- Server Trailer: Average 3 MB/s
- This screen size gives you good enough resolution for most content
Two examples on a very large (17x7 blocks, 2176x896) screen:
Using Velocity with compression-threshold: 256 and compression-level: 4
- Bad Apple: Average 400 KB/s
- Only two colors, pillarboxing on both sides, many large same-color areas -> lower bandwidth usage
- Bite Marks: Average 8 MB/s
- Many colors, full CS format, very quick scenes -> high bandwidth usage
Configuration
You can find a full, commented configuration file here
Additional notes:
- This plugin makes heavy use of multi-threading and benefits from more and faster CPU cores significantly.
- Video and audio are streamed, so RAM usage should not be a meaningful concern. However, this plugin will create considerable GC pressure.
- It is recommended to use a Velocity proxy in front of your server, and to then disable
network-compression-thresholdinserver.properties. Doing so will offload the work of compressing and encrypting packets to the proxy, which can significantly improve performance and throughput. If that is not possible, increasingnetty-threadsin spigot.yml might be worth considering. If using Velocity, try playing around with thenetwork-compression-thresholdandcompression-levelsettings a bit. I had great results with256and4respectively. - Packets are bundled per frame, so packets-per-second should not be a concern here.
- You can tweak most config settings during video playback with
/mcc debug <screen> <setting> <value>. Depending on the video content, tweaking settings might have a big effect (e.g. anime style vs real life videos).
Showcase
Very large screen (17x7 blocks, 2176x896 CS) playing at 24FPS
Even larger screen sizes are supported, but you will run into bandwidth limitations
Ченджлог
2.3.2Релиз26.1, 26.1.1, 26.1.2 · 2 июля 2026 г.
- Added
/mcc reloadto reload the config file. You may need to restart currently running playback for some config values to apply. - Fixed a threading issue with the screen fill color.
2.3.1Релиз26.1, 26.1.1, 26.1.2 · 26 июня 2026 г.
- The blank screen color is now configurable,
display.blank-color. Both named colors (WHITE) and hex values are accepted. Default is white. /mcc playnow optionally supports a list of players, e.g./mcc play screen video.mp4 --audio Malfrador Steve Dinnerbone. If set, the video is only played to those players.- Fixed a bug where some map update packets where sent to all online players instead of only players tracking the screen.
- Fixed a bug where the blank screen color was not properly set on screen creation and on relog
2.3.0Релиз26.1, 26.1.1, 26.1.2 · 8 июня 2026 г.
- The plugin now supports playing YouTube and Twitch livestreams. Just use
/mcc play <screen> <twitch/YT link>.- Livestreams are played at 20 FPS as well.
- There is a slight delay of about 1s compared to directly viewing the stream on YT/Twitch.
- Audio is sadly not supported, as there is no way to stream real-time audio to the client.
- Quality settings changed with
/mcc qualityare now persisted per-screen. - An issue preventing yt-dlp from being properly detected on some systems has been fixed.
2.2.3Релиз26.1, 26.1.1, 26.1.2 · 4 мая 2026 г.
- Update to 26.1
- Java 25 is now required. For older Java versions, use 2.2.2.
2.2.2Релиз1.21.9, 1.21.10, 1.21.11 · 10 апреля 2026 г.
- Improved performance of A/V drift skipping. The video processing lagging behind should no longer cause additional frame lag.
- Resourcepacks are now added instead of replacing the server resourcepack
2.2.1Релиз1.21.9, 1.21.10, 1.21.11 · 26 марта 2026 г.
- Fixed duplicated audio in resourcepacks. This should reduce resourcepack size significantly.
- Improved performance and quality of video playback
- Some bandwidth optimisations
- Added
/mcc quality <screen> <performance/balanced/quality>command for easy selection of playback settings.
2.2.0Релиз1.21.9, 1.21.10, 1.21.11 · 21 марта 2026 г.
- Audio processing is now done incrementally instead of all at once. As a result, processing long videos should no longer run out of memory.
- Parallelized dithering. Should be about 5-8 times faster than before, no matter the screen size. Dithering is now done in several "bands" instead of the entire frame at once.
- Video frames will now be skipped if the audio becomes out of sync significantly.
- Added a new "Drift" metric to the /mcc debug overlay that shows audio desync.
2.1.0Бета1.21.9, 1.21.10, 1.21.11 · 20 февраля 2026 г.
- Add MCPacks.dev hosting (default) so you don't have to run a local webserver for RP hosting
- Reduce minimum Java version to 21
Комментарии
Загружаем…