
MCCinema
Paper plugin to play back video (and audio) in-game without the use of clientside mods.
Paper plugin to play back video (and audio) in-game without the use of clientside mods.
Features
- Play local MP4 files or download videos directly from YouTube (optional)
- Automatic resource pack generation and hosting for synchronized audio playback
- True 1080p or even 4K playback with efficient tile-based rendering
- Only limit is the server and player bandwidth.
- Significantly improved visual quality
- Floyd-Steinberg 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
- Interframe compression, 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.
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>.
Two examples on the same very large (17x7 blocks, 2176x896) screen:
- Bad Apple: Average 5 MB/s
- Only two colors, pillarboxing on both sides, many large same-color areas -> low bandwidth usage
- Bite Marks: Average 30 MB/s
- Many colors, full CS format, very quick scenes -> high bandwidth usage
Configuration
You can find a full, commented configuration file here
Showcase
Very large screen (17x7 blocks, 2176x896 CS) playing at 24FPS
Even larger screen sizes are supported, but you will run into bandwidth limitations