Skip to content

Overview

freemkv is a Rust toolchain for optical-disc backup. Its goal is to recover 100% of readable data from any optical disc, automatically, then decrypt and mux the result to MKV.

“Readable” is the bound: if a sector can be read off the disc, freemkv reads it. Not best-effort: everything the drive can physically recover, pursued through transient errors and marginal media.

If you just want to rip a disc, the CLI reference has every command, or run the autorip service and let it do it on disc insert.

Disc recovery runs in two phases:

  • Pass 1, sweep. A sequential read of the whole disc, tolerant of bad sectors. When a sector won’t read, freemkv records the range and skips ahead instead of aborting, so one bad spot never costs you the rest of the disc.
  • Pass N, patch. Targeted retries on the bad ranges from the sweep: multi-attempt, with a per-sector recovery timeout, cache priming, and bisection of unread ranges to find the good middle of a partly-damaged region.

Once the map is clean (or an accepted-loss threshold is reached), freemkv muxes: decrypt the disc and write the titles to MKV. See How recovery works for the full model.

FormatEncryptionKeys
DVDCSSNone (keyless)
Blu-rayAACS 1.0Required
4K UHDAACS 2.0 / 2.1Required

DVDs decrypt with no setup. Blu-ray and 4K UHD need decryption keys you provide; see Decryption Keys.

freemkv ships in two ways, both built on a shared core.

freemkv CLI: manual, scriptable control. Every input and output is a scheme:// stream URL:

Terminal window
# rip a disc to MKV
freemkv disc:// mkv://Movie.mkv
# inspect a disc
freemkv info disc://
# remux an existing ISO to MKV
freemkv iso://Disc.iso mkv://Movie.mkv

Available for Linux, macOS, and Windows. See the CLI reference.

autorip: a service (Linux, macOS, Windows) that watches your optical drives, runs the full pipeline on disc insert, and exposes a web UI. Insert a disc, get an MKV, repeat. See the autorip service.

Both compose libfreemkv, the core library that handles recovery, sector-level retry, AACS decryption, and MKV muxing. See Components for the breakdown of every crate.

  • Install: prebuilt binaries or build from source.
  • Platforms: per-OS setup, file locations, and drive access (Windows, macOS, Linux).
  • CLI reference: every subcommand, flag, and stream URL.
  • Decryption Keys: what Blu-ray and UHD need.