caery 0.1.21

KnottDynamics-styled Linux desktop media converter for audio and video.
Documentation

Caery

Caery is a Rust desktop app for converting media files with ffmpeg, styled after the KnottFlasher/Motte monochrome HUD interface.

It supports common local workflows:

  • Video to audio extraction, such as .mp4 to .mp3, .flac, .wav, .ogg, .opus, or .m4a.
  • Video to video transcoding, such as .mkv to .mp4, .webm, .mov, or .mkv.
  • Audio to audio conversion between common audio containers/codecs.
  • Built-in Media Vault browser, path paste, and drag-and-drop source selection.
  • Suggested output filenames, overwrite guarding, final route review, live logs, and progress telemetry.

Run

cargo run

Caery is designed for Linux desktops and expects ffmpeg and ffprobe to be installed.

More usage details are in docs/usage.md.

CLI Mode

Run quick terminal conversions with two paths. Caery infers the route from the input and output extensions:

caery song.wav song.mp3
caery clip.mp4 clip.flac
caery clip.mkv clip.webm

cargo run -- song.wav song.mp3
cargo run -- clip.mp4 clip.flac
cargo run -- clip.mkv clip.webm

Quick mode supports audio-to-audio, video-to-audio, and video-to-video. If the extension pair cannot map to a supported route, Caery exits before starting ffmpeg and prints why it cannot infer the conversion.

Use --cli for explicit terminal conversion options:

caery --cli --input clip.mp4 --audio-format mp3
caery --cli --input clip.mkv --output clip.webm --mode video-to-video --video-format webm --quality archive
caery --cli --input song.wav --mode audio-to-audio --audio-format flac

cargo run -- --cli --input clip.mp4 --audio-format mp3
cargo run -- --cli --input clip.mkv --output clip.webm --mode video-to-video --video-format webm --quality archive
cargo run -- --cli --input song.wav --mode audio-to-audio --audio-format flac

CLI options:

  • --input or -i: source media file.
  • --output or -o: output file; omitted output paths use <source>-caery.<format>.
  • --mode or -m: extract-audio, video-to-video, or audio-to-audio.
  • --audio-format: mp3, m4a, flac, wav, ogg, or opus.
  • --video-format: mp4, mkv, webm, or mov.
  • --quality or -q: compact, balanced, or archive.
  • --overwrite or -y: replace an existing output file.

Use caery --cli --help for the full terminal help.

Desktop Install

Install the current binary as a Linux desktop app launcher:

cargo run -- --install

--install writes:

  • ~/.local/share/applications/caery.desktop
  • ~/.local/share/icons/hicolor/256x256/apps/caery.png from the bundled assets/logo.png
  • ~/Desktop/Caery.desktop when ~/Desktop exists

The launcher points to the exact binary used to run --install. For a permanent launcher, run --install from the final installed binary path rather than a temporary build location.

Workflow

  1. Choose a source audio or video file with Media Vault, paste a path, or drag a file into the window.
  2. Confirm or edit the output file path.
  3. Pick the conversion route: extract audio, transcode video, or transcode audio.
  4. Pick the output format and quality profile.
  5. Press Review + Convert, inspect the final route, then start conversion.

System Tools

  • ffmpeg for conversion.
  • ffprobe for duration probing and progress calculation.

Install them with your distro package manager, for example sudo pacman -S ffmpeg, sudo apt install ffmpeg, or sudo dnf install ffmpeg.

Test

cargo fmt --check
cargo test
cargo check