Install FFmpeg

View Markdown

Ittybit’s CLI uses FFmpeg under the hood for local processing. You don’t need it for cloud processing — but if you want to run ittybit video -i input.mp4 -o output.mp4 on your own machine, you’ll need FFmpeg installed.

macOS

brew install ffmpeg

Homebrew’s build includes all common codecs (h264, h265, VP9, AV1, AAC, Opus) out of the box. No extra flags needed.

Linux

Ubuntu / Debian

sudo apt update && sudo apt install ffmpeg

Ubuntu 24.04 ships FFmpeg 6.1 with all common codecs. Older Ubuntu versions (22.04, 20.04) ship older builds but still include the essentials.

Fedora / RHEL

FFmpeg isn’t in Fedora’s default repos. Enable RPM Fusion first:

sudo dnf install https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm
sudo dnf install ffmpeg

Arch

sudo pacman -S ffmpeg

Arch tracks upstream closely and ships a fully-featured build.

Windows

Pick whichever package manager you use:

# winget
winget install FFmpeg

# Chocolatey
choco install ffmpeg

# Scoop
scoop install ffmpeg

All three distribute full builds with all common codecs included.

Verify your install

ffmpeg -version

Check the first line for the version number, then confirm the codecs you need are available:

ffmpeg -encoders 2>/dev/null | grep -E "libx264|libx265|libvpx|libaom|libopus|aac"

You should see entries for each. If any are missing, your build was compiled without them — see the section below.

You can also check your setup with the Ittybit CLI:

ittybit health

Codec coverage

The default package manager builds on every platform include these codecs:

CodecEncoderUsed for
H.264libx264Universal web video
H.265libx265Smaller files, Apple devices
VP9libvpxWebM container
AV1libaomNext-gen compression
AACaacStandard web audio
OpuslibopusHigh-quality voice and music

If you need something beyond these defaults, you can compile FFmpeg from source or use pre-built static binaries from ffmpeg.org.

Static builds

If your package manager ships an old version or you need a specific build, static binaries are the fastest path to a current FFmpeg without compiling anything.

macOS/Linux:

Download a static build from the FFmpeg download page, extract it, and add it to your PATH.

Windows:

gyan.dev provides “essentials” and “full” builds. The essentials build covers all common codecs. The full build includes everything FFmpeg supports.

Custom builds

For most Ittybit workflows, the default package manager build is all you need. If you’re doing something unusual (hardware-accelerated encoding, specific filter chains, non-standard codecs), the FFmpeg compilation guide covers building from source on every platform.

Licensing and patents

FFmpeg is open source (LGPL/GPL), but the codecs it bundles have their own licensing — some are royalty-free (AV1, VP9, Opus) and others involve patent pools (H.264, H.265). For local CLI use this doesn’t matter, but if you’re operating at scale or redistributing encoders, see the FFmpeg legal page for details.