macOS
freemkv comes in two builds for macOS. Install one or the other; both are the freemkv command and use the same ripping engine. Choose Apple Silicon or Intel for your Mac on the Download page.
- freemkv (the app): a native desktop app plus every CLI command.
- freemkv CLI: the command line only, as a single binary.
Requirements
Section titled “Requirements”- macOS 11 or later.
- An Apple Silicon (
aarch64) or Intel (x86_64) Mac. Homebrew picks the right build. - Homebrew for Apple Silicon, or a direct download for Intel Macs.
- An optical drive. See OEM (stock) drives and Unlocked drives for drive support.
Install
Section titled “Install”brew install --cask freemkv/tap/freemkvThis installs freemkv.app and puts freemkv on your PATH. Open freemkv, select a disc, image or folder, choose the titles and tracks, select an output location and press Rip. You can also drag a supported media file onto the window.
The app includes the full CLI: run freemkv disc:// mkv://Movie.mkv in any terminal; a bare freemkv opens the window.
Command line only
Section titled “Command line only”brew install freemkv/tap/freemkv-clifreemkv --versionA bare freemkv prints usage. See the CLI reference for ripping commands and options.
The freemkv cask and freemkv-cli formula both provide freemkv, so uninstall one before installing the other.
Intel direct download
Section titled “Intel direct download”On the Download page, choose Intel x86_64 under the app or CLI section.
- App: extract
freemkv-x86_64-macos.zipand movefreemkv.appto Applications. - CLI: download
freemkv-cli-x86_64-macos, then run:
cd ~/Downloadschmod +x freemkv-cli-x86_64-macos./freemkv-cli-x86_64-macos --versionYou can rename the CLI binary to freemkv and put it in a directory on your PATH. Homebrew also remains available on Intel Macs.
Opening a downloaded build
Section titled “Opening a downloaded build”freemkv is ad-hoc signed, not notarized by Apple. If macOS blocks a downloaded app or CLI, try opening it, then go to System Settings → Privacy & Security → Open Anyway and confirm if you trust the download. Homebrew avoids this browser-download security prompt and verifies downloads against a pinned SHA-256 from the tap.
Update or remove
Section titled “Update or remove”For a direct download, replace the app or CLI binary with the latest download to update, or delete it to remove.
| Installation | Update | Remove |
|---|---|---|
| App | brew update, then brew upgrade --cask freemkv/tap/freemkv |
brew uninstall --cask freemkv/tap/freemkv |
| CLI | brew update, then brew upgrade freemkv/tap/freemkv-cli |
brew uninstall freemkv/tap/freemkv-cli |
Upgrading from freemkv-app or the old freemkv formula: brew update renames them to freemkv (cask) and freemkv-cli (formula) automatically.
Settings and ripped movies are separate from program files, so updating or removing freemkv leaves them in place.
File locations
Section titled “File locations”| What | Location |
|---|---|
| Desktop settings | ~/Library/Application Support/freemkv/gui-settings.json |
| Desktop diagnostic log | log.txt in the same folder, written only when the app’s log level is Verbose or debug messages are on |
| Native Library settings | ~/Library/Application Support/freemkv-library/settings.json by default |
| Native Library login service | ~/Library/LaunchAgents/io.freemkv.library.plist |
| Finished movies | The output location you choose before ripping; the desktop app suggests ~/Movies |
| AACS keys | See Decryption Keys |
| CLI diagnostic log | Off by default; --log-level 3 writes log.txt in the current folder |
To capture a CLI log at a specific path:
freemkv info disc:// --log-level 3 --log-file "$HOME/Desktop/freemkv-log.txt"Use the path to your downloaded binary if you did not install it with Homebrew.
Drive access
Section titled “Drive access”freemkv uses IOKit to obtain exclusive access to the optical drive. It unmounts the disc before direct reads, so the disc disappearing from Finder while ripping is expected. Devices appear as /dev/diskN.
Close other software using the disc. If access fails, reconnect the drive and try again.
freemkv-library
Section titled “freemkv-library”For automatic ripping through a browser, see freemkv-library. Library can also run natively on macOS with access to USB optical drives.
Native login service
Section titled “Native login service”Use a freemkv binary built with --features server; see the repository’s native Library installation instructions. This is separate from the regular Homebrew app or CLI installation above.
From a freemkv source checkout, run:
macos/install-library-service.sh /absolute/path/to/freemkvReplace the example path with the absolute path to your executable. The installer creates a login service for your user and starts Library at localhost:8080/drives, unless you configured a different port. Existing Library settings and service environment variables are preserved.
The installer sets ProcessType to Interactive in the LaunchAgent. This gives Library app-level resource limits and avoids the slow network copies observed with the default service policy.
Update an existing service
Section titled “Update an existing service”Run the installer again with the path to your server-enabled binary to apply the resource-policy fix. It updates the LaunchAgent without restarting a running Library. Wait for ripping, muxing and moving jobs to finish, then log out and back in to load the updated configuration.
To check the saved setting:
plutil -extract ProcessType raw "$HOME/Library/LaunchAgents/io.freemkv.library.plist"The result should be Interactive. This checks the saved configuration; an already-running service still needs to be restarted as described above.
Slow moves to a network share
Section titled “Slow moves to a network share”If Library moves files much more slowly than a copy from Terminal, check the login service’s resource policy first. In a same-file, same-destination SMB test, the default policy copied at about 11 MiB/s, while Interactive reached about 46 MiB/s, with the copy chunk size unchanged. These are measurements from one setup, not a guaranteed transfer rate; Wi-Fi, the server and storage still affect throughput.
The installer applies this setting automatically. No SMB or copy-buffer tuning is needed to apply this fix.
Troubleshooting
Section titled “Troubleshooting”- macOS blocks the app or CLI: see Opening a downloaded build, or install through Homebrew.
- The disc disappears from Finder: freemkv unmounts it to take exclusive drive access.
- No drive is available: check the connection, close other disc software and review Drive access.
- Library moves slowly to a network share: see Slow moves to a network share and update the native login service.
- A movie is missing: check the output location selected for that rip.
See also
Section titled “See also”- Decryption Keys for key setup
- Troubleshooting for logs and shared fixes
- CLI reference for ripping commands and options
- freemkv-library for automatic ripping