Skip to content

charles-hood/discforge

Repository files navigation

DiscForge

macOS GUI for burning MKV files to playable Blu-ray discs — no command line required.

Screenshot

Wraps ffmpeg, tsMuxeR, and growisofs into a single workflow: analyze your MKV, auto-detect codec compatibility, transcode if needed, build a proper BDMV structure, and burn to disc.

Features

  • One-click burn pipeline — select file, pick disc type, hit burn
  • Automatic codec analysis — detects whether video/audio streams are Blu-ray compatible
  • Smart transcoding — only re-encodes streams that need it (H.264/HEVC/MPEG-2 video and AC3/DTS/TrueHD audio pass through untouched)
  • Proper BDMV structure — tsMuxeR generates valid playlists, clip info, and seek points (not minimal stubs)
  • DVD-R support — BDMV-on-DVD works with most Blu-ray players from the last 10-15 years
  • Create ISO only — build a disc image without a physical burner for testing or archiving
  • Disc capacity validation — DVD-5, DVD-9, BD-25, BD-50 with fit warnings
  • Drag-and-drop — drop MKV files directly onto the window
  • Dark themed — native-feeling macOS UI via PyQt6

Requirements

  • macOS (tested on macOS 15+, Apple Silicon)
  • Python 3.10+ with PyQt6
  • ffmpeg / ffprobe — media analysis and transcoding
  • tsMuxeR — BDMV structure creation (download)
  • growisofs (from dvd+rw-tools) — disc burning
  • mkisofs (from cdrtools) — ISO image creation (optional, for "Create ISO Only")

Quick Start

# Install dependencies
brew install ffmpeg dvd+rw-tools cdrtools
pip3 install PyQt6

# Download tsMuxeR (not in Homebrew)
# Get the macOS binary from https://github.com/justdan96/tsMuxer/releases
# Place it next to the app or in your PATH, then:
xattr -d com.apple.quarantine /path/to/tsMuxeR

# Run
cd discforge
python3 main.py

Or use the setup script:

chmod +x setup.sh
./setup.sh
python3 main.py

How It Works

MKV file
  |
  +- ffprobe --> Analyze codecs, resolution, duration
  |
  +- ffmpeg ---> Transcode incompatible streams (only if needed)
  |
  +- tsMuxeR -> Build BDMV/ directory with valid metadata
  |
  +- growisofs > Burn UDF filesystem to disc

Burn Modes

Mode Output Use Case
Blu-ray Video Playable BDMV disc Standalone Blu-ray players
Data Disc MKV file on UDF media Archival, media server playback
Create ISO Only .iso disc image file Testing, burning later, archival

Supported Disc Types

Type Capacity Notes
DVD-5 4.7 GB Single layer DVD-R (BDMV-on-DVD)
DVD-9 8.5 GB Dual layer DVD-R (BDMV-on-DVD)
BD-25 25 GB Single layer Blu-ray
BD-50 50 GB Dual layer Blu-ray

Codec Compatibility

Streams using these codecs are copied directly (no quality loss):

Video Audio
H.264 (AVC) Dolby Digital (AC3)
H.265 (HEVC) Dolby Digital Plus (E-AC3)
MPEG-2 DTS / DTS-HD
VC-1 Dolby TrueHD
LPCM

Incompatible codecs (VP9, AV1, AAC, Opus, etc.) are automatically transcoded to H.264 + AC3.

License

MIT

About

macOS GUI for burning MKV files to playable Blu-ray discs — no command line required

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors