Skip to content

Components

freemkv is a Rust workspace. This page maps the pieces and links to the detailed page for each. The CLI and the autorip service are both thin front ends over one shared library.

The core engine. It owns the mapfile and multipass recovery model, sector-level retry, AACS and CSS decryption, and MKV muxing. Everything else consumes it.

Published on crates.io; API docs at docs.rs/libfreemkv.

See the library overview.

The command-line front end, for Linux, macOS, and Windows. Every operation is a scheme:// stream URL: rip a disc to MKV, copy a disc to an ISO, remux an existing image, inspect a disc, or refresh the key database.

See the CLI reference. Get a binary from the Download page.

A cross-platform rip service (Linux, macOS, Windows). It auto-detects optical drives, runs the full sweep, patch, and mux pipeline on disc insert, and exposes a web UI for settings, live progress, and history. Resumable, with a configurable accepted-loss threshold. Runs as a single binary, or via Docker on Linux.

See the autorip service. Published to GHCR at ghcr.io/freemkv/autorip:latest.

Pluggable AACS key sources for libfreemkv: a key database file, an online key service, or a mapfile-derived source. This is how decryption keys reach the decryption pipeline.

Published on crates.io.

A Blu-ray disc emulation component for testing the recovery and decryption paths without a physical disc in a drive.

How freemkv's components fit together: freemkv-keysources supplies keys to the libfreemkv engine (recovery, sector retry, AACS/CSS decrypt, MKV mux), which is composed by the freemkv CLI and the autorip service; bdemu is a test fixture.

bdemu sits alongside as a test fixture for the recovery and decryption paths.