A practical, terminal-first workflow for turning a folder of videos plus a PowerPoint menu into a Blu-ray-ready project, final ISO, and optional burned disc.
Auto Blu-ray TUI (terminal user interface) is its own project. It includes and builds on the archived HD Cook Book / BD-J / GRIN tooling, but the user-facing goal is a modern automated Blu-ray authoring dashboard.
Instead of learning a complex authoring program or paying for expensive alternatives, design your disc menu in PowerPoint.
Auto Blu-ray TUI guides the whole disc-building process from one dashboard:
- scans a project folder for videos and subtitles
- converts
menu.pptxinto a Blu-ray menu structure - prepares Blu-ray-compatible H.264 + AC-3
.m2tsmedia - uses NVIDIA NVENC automatically when available, with CPU fallback
- targets DVD-5, DVD-9, BD-25, or quality/no-cap output depending on the selected disc preset
- builds the HD Cook Book BD-J menu overlay
- muxes titles into Blu-ray
STREAM,CLIPINF, andPLAYLISTassets - assembles a final Blu-ray ISO
- detects an optical burner and blank disc
- burns the first disc automatically when media is large enough, then lets you burn more copies or exit
Blu-ray authoring normally involves a fragile chain of tools and formats. This project wraps that chain in a single TUI that shows what is happening, where it failed, and what is safe to reuse.
Benefits:
- PowerPoint-first menus — build menu screens in a familiar editor instead of hand-authoring every layout. Shapes whose text matches a video, such as
Background 1, can become autoplaying looped video regions on that slide. - Readable button labels — use
Button Text | Actionto keep pretty PowerPoint labels while targeting videos, timestamps, chapters, slide jumps, or built-in menu actions. - One-command workflow — launch the TUI and let autopilot work through the steps.
- GPU acceleration — uses RTX/NVENC automatically when available.
- Disc-size guardrails — targets DVD-5, DVD-9, or BD-25 and rejects oversized encodes/ISOs instead of silently creating output that will not fit.
- Resume-friendly behavior — skips acceptable existing encodes and adopts already-running ffmpeg jobs when relaunched.
- Visible progress — color status, per-step progress bars, per-video progress, ISO readiness, and burner status.
- Disc burning loop — burn the finished ISO, insert another blank disc, burn again, or exit.
From the repository root:
./scripts/install-bluray-deps.sh
./scripts/monitor-bluray-project.sh "/path/to/Blu-ray project"When the TUI opens, it runs an initial project/media analysis before the dashboard so you can see the video/subtitle inventory before choosing a workflow.
In the TUI:
- Actions:
wfull autopilot,Enterencode media only,bburn the final ISO,kstop running work,qquit - View/device:
rrefresh/re-analyze if needed,vcycle detected optical burners - Options:
ddisc size (DVD-5→DVD-9→BD-25→ quality/no cap),mmenu backend,eencoder,zresolution,lquality,pNVENC preset,aaudio bitrate,oencode only one video,ssmoke-test length
- BD-J / GRIN is the current working menu backend and default. Use it for finished discs today.
- HDMV-Lite is experimental. It exports/scaffolds Java-free menu metadata and HDMV authoring artifacts, but it does not yet compile functional Interactive Graphics streams or final HDMV menu commands.
- Auto currently stays on BD-J. It must not select HDMV as the final backend until the HDMV
compiler_statusis functional.
PowerPoint button text can be a simple action, or it can use the preferred display/action form:
Button Text | Action
The pipe syntax lets the visible menu text differ from messy filenames. Examples:
Main Feature
Play Movie | Main Feature
Start at Big Reveal | Main Feature@1:00:30
Watch the Finale | Main Feature#Finale
Chapter 4 | Main Feature#4
Bonus Features | goto:Extras
Bonus Features | menu:Extras
Bonus Features | slide:Extras
Trailer | file:Trailer Final Export.mov
Return Home | main
Go Back | back
Watch Everything | play all
Coming Soon | disabled
Placeholder | none
Supported Grammar v1 actions are video names, VideoName@timestamp, VideoName#Chapter, goto:/menu:/slide: navigation, file:Exact Filename.ext, and built-ins: main, back, top menu, resume, replay, play all, disabled, and none. Advanced creative commands such as slideshow, idle/attract mode, pre-roll, compare cuts, aliases, or project.json routing are future work.
A project folder can contain:
menu.pptx
Video 1.mkv
Video 1.srt
Video 2.mp4
Video 2.srt
...
If a video has no matching sidecar subtitle, autopilot can try OpenSubtitles before media analysis. Set these environment variables first:
export OPENSUBTITLES_API_KEY='your-api-key'
export OPENSUBTITLES_USERNAME='your-username'
export OPENSUBTITLES_PASSWORD='your-password'
# optional; default is English
export OPENSUBTITLES_LANGUAGE='en'Without those credentials the lookup is skipped safely and the TUI shows an informational preflight note.
The workflow writes build outputs under:
build/bluray-media/
build/bluray-authoring/
build/final-bluray/
build/bluray-burn/
The final ISO is written to:
build/final-bluray/bluray-project.iso
Start with the walkthrough:
Detailed workflow notes live here:
Auto Blu-ray TUI includes and builds on the archived HD Cook Book / java.
This project is for authoring Blu-ray discs from your own videos, personal projects, home movies, training materials, or other content you have the right to use.
It does not decrypt commercial Blu-ray discs, remove copy protection, or assist with unauthorized copying of copyrighted material.
Find this useful? Feel free to donate https://buymeacoffee.com/rarecore