{"id":48452049,"url":"https://github.com/freemkv/freemkv","last_synced_at":"2026-05-11T03:57:15.088Z","repository":{"id":349471751,"uuid":"1202469052","full_name":"freemkv/freemkv","owner":"freemkv","description":"Open source 4K UHD / Blu-ray / DVD backup tool","archived":false,"fork":false,"pushed_at":"2026-05-08T02:25:31.000Z","size":399,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-08T04:39:13.874Z","etag":null,"topics":["4k","blu-ray","disc-ripping","dvd","linux","open-source","optical-drive","rust","uhd"],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/freemkv.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-06T03:56:02.000Z","updated_at":"2026-05-08T02:25:35.000Z","dependencies_parsed_at":null,"dependency_job_id":"0d4df8f0-2000-496d-bea1-686f5e607285","html_url":"https://github.com/freemkv/freemkv","commit_stats":null,"previous_names":["freemkv/freemkv"],"tags_count":95,"template":false,"template_full_name":null,"purl":"pkg:github/freemkv/freemkv","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/freemkv%2Ffreemkv","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/freemkv%2Ffreemkv/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/freemkv%2Ffreemkv/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/freemkv%2Ffreemkv/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/freemkv","download_url":"https://codeload.github.com/freemkv/freemkv/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/freemkv%2Ffreemkv/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32880788,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-10T13:40:02.631Z","status":"online","status_checked_at":"2026-05-11T02:00:05.975Z","response_time":120,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["4k","blu-ray","disc-ripping","dvd","linux","open-source","optical-drive","rust","uhd"],"created_at":"2026-04-06T21:02:38.123Z","updated_at":"2026-05-11T03:57:15.062Z","avatar_url":"https://github.com/freemkv.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![License: AGPL-3.0](https://img.shields.io/badge/license-AGPL--3.0-blue)](LICENSE)\n[![Latest Release](https://img.shields.io/github/v/release/freemkv/freemkv?label=latest\u0026color=brightgreen)](https://github.com/freemkv/freemkv/releases/latest)\n[![crates.io](https://img.shields.io/crates/v/libfreemkv)](https://crates.io/crates/libfreemkv)\n\n# freemkv\n\nOpen source 4K UHD / Blu-ray / DVD backup tool. Two arguments — source and destination. Stream URLs let you rip, remux, and transfer between any combination of disc, file, and network.\n\n## Quick Start\n\n### 1. Install\n\n```bash\n# Linux\ncurl -sL https://github.com/freemkv/freemkv/releases/latest/download/freemkv-x86_64-unknown-linux-musl.tar.gz | tar xz\nsudo mv freemkv /usr/local/bin/\n\n# macOS (Apple Silicon)\ncurl -sL https://github.com/freemkv/freemkv/releases/latest/download/freemkv-aarch64-apple-darwin.tar.gz | tar xz\nsudo mv freemkv /usr/local/bin/\n\n# macOS (Intel)\ncurl -sL https://github.com/freemkv/freemkv/releases/latest/download/freemkv-x86_64-apple-darwin.tar.gz | tar xz\nsudo mv freemkv /usr/local/bin/\n\n# Windows — download .zip from https://github.com/freemkv/freemkv/releases/latest\n```\n\n### 2. Set up decryption keys (one time)\n\n**DVD:** No setup needed. CSS decryption works out of the box.\n\n**Blu-ray / 4K UHD:** You need a KEYDB.cfg file containing AACS decryption keys. This is a community-maintained key database — freemkv cannot ship keys due to legal restrictions.\n\n```bash\nfreemkv update-keys --url \u003cyour-keydb-url\u003e\n```\n\nThe KEYDB is saved to `~/.config/freemkv/keydb.cfg` and used automatically from then on.\n\n### 3. Rip\n\n```bash\nfreemkv disc:// mkv://Movie.mkv            # Disc to MKV\nfreemkv disc:// m2ts://Movie.m2ts           # Disc to raw transport stream\nfreemkv m2ts://Movie.m2ts mkv://Movie.mkv   # Remux m2ts to MKV\nfreemkv info disc://                        # Show disc info\n```\n\n## How It Works\n\nEvery operation is `freemkv \u003csource\u003e \u003cdest\u003e`. Sources and destinations are stream URLs.\n\n### Streams\n\n| Stream | Input | Output | URL |\n|--------|-------|--------|-----|\n| Disc | Yes | -- | `disc://` or `disc:///dev/sg4` |\n| ISO | Yes | Yes | `iso://path.iso` |\n| MKV | Yes | Yes | `mkv://path` |\n| M2TS | Yes | Yes | `m2ts://path` |\n| Network | Yes (listen) | Yes (connect) | `network://host:port` |\n| Stdio | Yes (stdin) | Yes (stdout) | `stdio://` |\n| Null | -- | Yes | `null://` |\n\nAll URLs use the `scheme://path` format. No bare paths — always include the scheme prefix.\n\n## Examples\n\n### Rip a disc\n\n```bash\nfreemkv disc:// mkv://Movie.mkv                     # All titles to MKV\nfreemkv disc:// mkv://Movie.mkv -t 1                # Main feature only\nfreemkv disc:// mkv://Movie.mkv -t 1 -t 3           # Titles 1 and 3\nfreemkv disc:// iso://Disc.iso                      # Full disc to ISO (decrypted)\nfreemkv disc:// iso://Disc.iso --raw                # Full disc to ISO (encrypted)\nfreemkv disc:///dev/sg4 mkv://Movie.mkv -t 1        # Specific drive\n```\n\n### Rip from ISO image\n\n```bash\nfreemkv iso://Disc.iso mkv://Movie.mkv              # ISO to MKV\nfreemkv iso://Disc.iso mkv://Movie.mkv -t 1         # Main feature from ISO\n```\n\n### Remux between formats\n\n```bash\nfreemkv m2ts://Movie.m2ts mkv://Movie.mkv           # m2ts to MKV\nfreemkv mkv://Movie.mkv m2ts://Movie.m2ts           # MKV to m2ts\n```\n\n### Network streaming (two machines)\n\nRip on a low-power machine with a disc drive, remux on a high-power server:\n\n```\n                           TCP\n  [Ripper]  ──────────────────────►  [Transcoder]\n  disc drive                          fast CPU\n  freemkv disc://                     freemkv network://\n    network://10.1.7.11:9000            0.0.0.0:9000 mkv://Dune.mkv\n```\n\n**On the transcoder** (start first — it listens):\n```bash\nfreemkv network://0.0.0.0:9000 mkv://Dune.mkv\n```\n\n**On the ripper** (connects and streams):\n```bash\nfreemkv disc:// network://10.1.7.11:9000\n```\n\nThe metadata header flows first — labels, languages, duration, stream layout. The transcoder has everything it needs without touching the disc.\n\n### Pipe to other tools\n\n```bash\nfreemkv disc:// stdio:// | ffmpeg -i pipe:0 -c copy output.mkv\ncat raw.m2ts | freemkv stdio:// mkv://Dune.mkv\n```\n\n### Benchmark read speed\n\n```bash\nfreemkv disc:// null://\n```\n\n### Inspect metadata\n\n```bash\nfreemkv info disc://                                # Disc info\nfreemkv info m2ts://Dune.m2ts                       # File metadata\nfreemkv info mkv://Dune.mkv                         # MKV track info\n```\n\n### Disc info\n\n```\n$ freemkv info disc://\n\nDisc: Dune\nFormat: 4K UHD (2L, 90.7 GB)\nAACS: Encrypted\n\nTitles\n\n   1. 00800.mpls      2h 35m   88.8 GB  1 clip\n\n      Video:     HEVC 2160p HDR10 BT.2020\n                 HEVC 1080p Dolby Vision BT.2020 Dolby Vision EL\n\n      Audio:     English TrueHD 5.1\n                 English DD 5.1\n                 French DD 5.1\n                 German TrueHD 5.1\n                 Italian TrueHD 5.1\n                 Spanish DD 5.1\n\n      Subtitle:  English\n                 French\n                 German\n```\n\n### DVD disc info\n\n```\n$ freemkv info disc://\n\nDisc: Greenland\nFormat: DVD (1L, 6.3 GB)\nCSS: Encrypted\n\nTitles\n\n   1. VTS_02_3.VOB    1h 59m    5.8 GB  0 clips\n\n      Video:     MPEG-2 480i 29.97fps\n\n      Audio:     English DD\n                 English DD\n                 English DD\n\n      Subtitle:  English\n                 Spanish\n```\n\n## Stream Labels\n\nfreemkv reads BD-J authoring files on the disc — metadata that other tools can't see. Standard tools only read MPLS data (language code + codec). freemkv identifies:\n\n- **Audio purpose** — Commentary, Descriptive Audio, Score\n- **Codec detail** — TrueHD, Dolby Atmos, DTS-HD MA\n- **Forced subtitles** — narrative/foreign language tracks\n- **Language variants** — US vs UK English, Castilian vs Latin Spanish\n\nLabels are preserved in all output formats — MKV track names and M2TS metadata headers carry them through.\n\n## Flags\n\n```\n-t, --title N       Select title (1-based, repeatable). Default: all.\n-k, --keydb PATH    KEYDB.cfg path\n-v, --verbose       Show AACS/drive debug info\n-q, --quiet         Suppress output\n    --raw           Skip decryption (raw encrypted output)\n-s, --share         Submit drive profile (with info disc://)\n-m, --mask          Mask serial numbers (with --share)\n```\n\n## Multi-language\n\nfreemkv is fully localized. All output — errors, status, labels — adapts to your locale. Ships with English, Spanish, French, German, Italian, Portuguese, and Dutch. Contributions for additional languages welcome.\n\n## Building from Source\n\n```bash\ncargo install freemkv\n```\n\nOr clone and build:\n```bash\ngit clone https://github.com/freemkv/freemkv\ncd freemkv/freemkv\ncargo build --release\n```\n\n## Supported Drives\n\nWorks with LG, ASUS, HP, and other MediaTek-based BD-RE drives on Linux, macOS, and Windows. Run `freemkv info disc://` to check. Pioneer support planned.\n\n## Contributing\n\nRun `freemkv info disc:// --share` to submit your drive's profile and help expand hardware support.\n\n## License\n\nAGPL-3.0-only. Built on [libfreemkv](https://github.com/freemkv/libfreemkv).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffreemkv%2Ffreemkv","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffreemkv%2Ffreemkv","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffreemkv%2Ffreemkv/lists"}