[Attachment 94333 - Click to enlarge]
Why I started this project
For years, Matroska (.mkv) has been the gold standard container for preserving high-quality video, multiple audio tracks, subtitles, and chapters. However, when people rip or archive Blu-rays and DVDs into MKV, they lose the interactive experience—custom title screens, bonus feature sub-menus, visual audio/subtitle selectors, and reactive state recall.
Today, if you want interactive menus, you are stuck with legacy optical disc formats (BDMV/ISO) or clunky web wrappers. I wanted to prove that a standard .mkv file can deliver a modern, responsive, Blu-ray-style menu experience natively.
How MKV-DISC works
Instead of relying on heavy web engines (no Electron, HTML, or JavaScript), MKV-DISC uses a lightweight, native architecture:
Core Engine (mkvdisc - Rust): A fast, headless specification parser and validator with a C-ABI interface so it can eventually be integrated into multiple media players (mpv, VLC, Kodi, etc.).
Player Runtime (mkvdisc-mpv - Rust C-Plugin): Successfully tested and running in mpv. It extracts the embedded mkvdisc.json manifest and custom PNG/JPG button states (Idle, Focused, and Active overlays), handles keyboard/remote navigation (Up/Down/Left/Right/Enter, plus Ctrl+M to return to the menu), and tracks reactive state variables without needing duplicate menu pages.
Authoring Studio (mkvdisc-authoring - Python + PySide6): A native desktop studio app giving creators full design freedom to import their own custom graphics, map coordinates on a 1080p canvas, configure navigation/state rules, and package everything automatically via mkvmerge.
Current Status
✅ Working Baseline: The authoring studio can currently export both Embedded mode (a single self-contained .mkv with the manifest and PNG assets attached inside) and Directory mode (an .mkv paired with a local project folder).
✅ Live Playback: The mpv C-plugin successfully mounts, extracts the assets, renders the three-state menu overlays, and navigates between titles and menus.
A quick note on how this was built & calling for contributors
I had the architectural vision for this, but I am not an experienced systems programmer. Using AI as a development partner, I pushed through to build a working proof-of-concept baseline to prove that native Blu-ray-style menu navigation inside MKV is completely possible.
Now that the foundation works, it needs experienced developers to take it to the next level—expanding player support (like VLC and Kodi), refining UI/UX polish in the Python studio, adding motion menus/audio feedback, and hardening the spec.
Links & Media
GitHub Repository: https://github.com/yedkriz/EidoDisc/
YouTube Demo: https://www.youtube.com/watch?v=mSoHNJl969E
Reddit: https://www.reddit.com/r/makemkv/s/BLXqBkvSyZ
Feedback, critiques, and pull requests are welcome!
+ Reply to Thread
Results 1 to 1 of 1
Similar Threads
-
TsMuxeR mkv to Bluray Iso file too big for 50BD-R Disc
By Koltesian in forum Authoring (Blu-ray)Replies: 1Last Post: 26th May 2026, 03:50 -
Bluray to mkv with contrast ajustment?
By bagmand in forum Video ConversionReplies: 9Last Post: 21st Dec 2025, 08:58 -
MAC OS - MKV burn to UHD Bluray Disc to play on TV
By BowlingWithBears in forum Newbie / General discussionsReplies: 4Last Post: 5th Apr 2024, 17:43 -
Convert-mkv-4k-to-UHD-Bluray
By lcohen448 in forum Authoring (Blu-ray)Replies: 16Last Post: 5th Aug 2023, 04:55 -
Help with lossless conversion mkv to bluray with menu
By maltersxd in forum Authoring (Blu-ray)Replies: 20Last Post: 11th Jul 2022, 01:21



Quote