Skip to content
deva0xPublic

About

A free, open-source app for the Mac and Linux that turns ffmpeg, yt-dlp, pandoc and other command-line tools into plain windows. The exact command is always in view.

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Knobs

Command-line tools, as Mac windows.
Pick a task, drop in a file, turn a few knobs, press Run. The exact command is always on screen.

Knobs after shrinking a video with ffmpeg: the result's preview with −86% as the headline, 7.5 MB to 1.1 MB, Open and Show in Finder, the settings in the inspector on the right and the command bar at the bottom.

The ffmpeg page: a hero in the tool's pink, where ffmpeg is installed, and cards for Shrink a video, Convert a video, Trim a clip and more, each saying what it takes. Shrink a video running: a dial over the video's preview at 50% and two seconds, with Cancel in the command bar.

ffmpeg, yt-dlp, ImageMagick and their friends can do almost anything, if you remember the flags. Knobs puts the everyday jobs behind plain controls, and shows you the real command as you change them. Nothing is hidden, so you learn the tool while you use it.

Download

Get Knobs from knobs.pages.dev or the latest release.

  • Mac: open the .dmg and drag Knobs to Applications. It's signed and notarized by Apple. From 0.2.0 on, Knobs > Check for Updates… keeps it current; it asks before it checks on its own.
  • Linux: packages for Ubuntu, Fedora and Arch Linux, on x86_64 and ARM. See Linux.

What changed in each version is in CHANGELOG.md.

What it does

  • Tasks in plain words. "Shrink a video", "Make a PDF searchable", "Remove the location". Drop a file, set what matters, press Run. A large preview with the file's facts, a progress dial, Cancel, and the result with its size change, Open, Show in Finder and drag-out.
  • The real command, live. Every change updates the command bar, colored by part, ready to copy into Terminal.
  • Three layers per tool. The tasks; an Extra arguments box on every task for anything else; and All options, every option the tool lists in its help, searchable, with a switch or field for each.
  • Add any tool. Type the name of any command-line tool on your Mac and get an All options window for it.
  • Remembers you. Settings stick per task, presets save the combinations you reuse, recent runs are one click away, and ⌘K reaches every task of every tool.
  • Safe by design. Tools run as an argument list, never through a shell, so a strange file name is just a file name. Knobs never overwrites an existing file; it adds " 2", " 3" instead.

Tools

Tool Tasks
ffmpeg Shrink a video, Convert a video, Trim a clip, Extract the audio, Make a GIF, Remove the sound
yt-dlp Download a video, Download just the audio, Download a whole playlist, Get the subtitles, Save the thumbnail
ImageMagick Resize, Convert, Compress, Make it square, Add a text watermark, Rotate or flip
pandoc Markdown to Word, Word to Markdown, Markdown to a web page, Make an ebook
ExifTool Show hidden details, Remove all hidden details, Remove the location, Rename photos by date taken
OCRmyPDF Make a PDF searchable, Straighten and clean a scan, Redo the text layer
Ghostscript Compress a PDF, Merge PDFs, Convert to black and white, Extract pages
whisper.cpp Transcribe to text, Make subtitles, Translate to English
rsync Copy a folder, Mirror a folder, Compare two folders, Back up a folder
7-Zip Create an archive, Create a password-protected archive, Extract an archive, Check an archive
qpdf Rotate pages, Pick and reorder pages, Split a PDF, Protect with a password, Remove a password, Repair a damaged PDF
img2pdf Turn images into a PDF
Poppler Save a page as an image, Save every page as images (pdftoppm), Turn a PDF into text (pdftotext)

Knobs doesn't install tools. If one is missing, it shows the brew install command to copy.

Each tool is a JSON manifest in Manifests/, in the format documented in docs/MANIFEST_FORMAT.md. Adding a tool or a task needs no Swift; see CONTRIBUTING.md.

Requirements

macOS 26 or later on an Apple Silicon Mac, and the tools you want to use (Homebrew is the easy way).

Building from source

You need Xcode 26 or later and XcodeGen (brew install xcodegen).

scripts/install-hooks.sh
scripts/ci.sh
scripts/run-app.sh

All checks run locally on your Mac. This project uses no hosted CI.

Linux

The Linux version, in GTK 4 and libadwaita, shares the manifests and the core with the Mac app, so tasks, commands and remembered settings behave the same. It needs GTK 4.20 or later: Ubuntu 26.04, Fedora 43, current Arch Linux or newer. Download the package for your distribution and processor from the latest release, then install it from the folder it's in:

  • Ubuntu: sudo apt install ./knobs_*.deb
  • Fedora: sudo dnf install ./knobs-*.rpm
  • Arch Linux (x86_64): sudo pacman -U ./knobs-*.pkg.tar.zst. An AUR package, knobs-gui-bin, will follow once the AUR opens registration again.
  • Other distributions: tar -xzf knobs-*-linux-*.tar.gz && knobs/usr/bin/knobs. GTK 4.20 or later and libadwaita must already be installed.

apt, dnf and pacman install GTK and libadwaita if they're missing. Then open Knobs from your apps.

On Fedora, Shrink a video works with Fedora's own ffmpeg-free, but its Quality setting only takes effect with the full ffmpeg from RPM Fusion, which has the x264 encoder.

Building the Linux version

The source is in linux/. To build and try it in a container on a Mac with OrbStack or Docker:

scripts/linux.sh build
scripts/linux.sh run

Then open http://localhost:8085. scripts/linux.sh package <version> [arm64|amd64] writes a .deb, an .rpm and a .tar.gz to dist/linux/; the amd64 run also writes an Arch Linux package (knobs-gui-bin) and its AUR files.

Security

See SECURITY.md for how Knobs runs tools safely, its known limits, and how to report a problem.

License

MIT. See LICENSE. The tools Knobs runs belong to their authors and keep their own licenses. The Mac app includes Sparkle for updates; its license is in App/Acknowledgements/Sparkle-LICENSE.txt and inside the app.

About

A free, open-source app for the Mac and Linux that turns ffmpeg, yt-dlp, pandoc and other command-line tools into plain windows. The exact command is always in view.

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages