Disc to MKV in one command. AACS + CSS decryption. HEVC / HDR10 / Dolby Vision passthrough. TrueHD, DTS-HD MA, Atmos. Chapters, subtitles, every audio track preserved.
Seven stream types — disc, ISO, MKV, M2TS, network, stdio, null. URL-addressable. Pipe to ffmpeg, stream over LAN, remux between formats. The same primitives the rip pipeline uses.
Docker container with built-in web dashboard. Insert a disc, get an MKV on your NAS. TMDB titles + posters, organized into Movies/Title (Year)/, Jellyfin / Discord / n8n webhooks.
Insert a disc. Get an MKV.
Docker container with a built-in web dashboard. Detects disc insertion, rips to MKV, looks up the title on TMDB, organizes into your media library, triggers a Jellyfin scan, and ejects. Hands-free.
Configurable webhooks for Discord, Jellyfin, n8n, or any HTTP endpoint. Supports MKV, M2TS, ISO, and network output formats. Multi-pass recovery + abort-on-loss thresholds for damaged discs.
Open localhost:8080. Configure KEYDB URL and TMDB key in Settings. Insert disc. --privileged and /dev:/dev are both required for optical drive access. Full compose example →
curl -sL https://github.com/freemkv/freemkv/releases/latest/download/freemkv-x86_64-unknown-linux-musl.tar.gz | tar xz
curl -sL https://github.com/freemkv/freemkv/releases/latest/download/freemkv-aarch64-apple-darwin.tar.gz | tar xz
Any source to any destination
| Stream | Input | Output | URL |
|---|---|---|---|
| Disc | Yes | — | disc:// |
| ISO | Yes | Yes | iso://image.iso |
| MKV | Yes | Yes | mkv://path |
| M2TS | Yes | Yes | m2ts://path |
| Network | Yes | Yes | network://host:port |
| Stdio | Yes | Yes | stdio:// |
| Null | — | Yes | null:// |
# Rip disc to MKV freemkv disc:// mkv://Movie.mkv # ISO to MKV freemkv iso://disc.iso mkv://Movie.mkv # Remux M2TS to MKV freemkv m2ts://Movie.m2ts mkv://Movie.mkv # Stream over network freemkv disc:// network://10.1.7.11:9000 # Pipe to ffmpeg freemkv disc:// stdio:// | ffmpeg -i pipe:0 -c:v libx265 output.mp4