Installation¶
Requirements¶
- Python 3.10–3.14
ffmpegandffprobeonPATH, or explicit binary pathspipxfor the recommended isolated CLI install
Install FFmpeg using the package source you already trust for your operating system. PyFFmpegCore deliberately does not download or bundle it.
macOS and Windows FFmpeg¶
On macOS, Homebrew's ffmpeg formula
provides both ffmpeg and ffprobe:
brew install ffmpeg
ffmpeg -version
ffprobe -version
On Windows, the Microsoft WinGet repository currently lists the
Gyan.FFmpeg 8.1.2 full build.
Follow Microsoft's WinGet install command
in PowerShell:
winget install --id Gyan.FFmpeg --exact
Open a new PowerShell window after installation, then run:
ffmpeg -version
ffprobe -version
If either executable is still missing, inspect the package's install location
and PATH, or pass trusted absolute binary paths as shown in
troubleshooting. The WinGet,
Fedora, Arch, and Homebrew package pages were checked on 24 September 2026.
The Windows and Linux installations were not run on this macOS host.
CI also installs FFmpeg separately on hosted macOS and Windows runners.
Ubuntu and Debian FFmpeg¶
Install the distribution package with APT:
sudo apt-get update
sudo apt-get install ffmpeg
ffmpeg -version
ffprobe -version
Ubuntu 24.04 lists ffmpeg in Universe;
its package file list
includes both executables. Debian 12's ffmpeg package
also includes both command-line tools. If APT cannot find the Ubuntu package,
check that the Universe repository is enabled. See the APT install command
reference.
Package pages were checked on 24 September 2026. Then install PyFFmpegCore with
pipx below and run pyffmpegcore doctor and pyffmpegcore smoke-test.
Fedora Linux and Arch Linux¶
On Fedora 44, install the distribution's
ffmpeg-free package
with the documented DNF install command:
sudo dnf install ffmpeg-free
Fedora's Fedora 44 update file list
includes both ffmpeg and ffprobe. This build deliberately supports fewer
codecs than some third-party FFmpeg builds.
On x86_64 Arch Linux, install the official
ffmpeg package
as described in the ArchWiki installation section:
sudo pacman -S ffmpeg
The Arch package file list
also includes both executables. After installing PyFFmpegCore with pipx below,
check the selected build and a real synthetic workflow:
ffmpeg -version
ffprobe -version
pyffmpegcore doctor
pyffmpegcore smoke-test
These Fedora and Arch install commands were checked against official package
pages on 24 September 2026; they were not executed on those distributions
in this audit. Encoder and filter availability depends on the installed FFmpeg
build. Inspect pyffmpegcore doctor --json before relying on a particular
workflow; PyFFmpegCore does not fetch missing codecs.
Bash or zsh¶
Install the exact validated public release:
pipx install "pyffmpegcore==0.3.3"
pyffmpegcore --version
pyffmpegcore doctor
pyffmpegcore smoke-test
A repository checkout also provides ./install.sh.
uv users can install the same release as an isolated tool:
uv tool install "pyffmpegcore==0.3.3"
pyffmpegcore smoke-test
PowerShell¶
pipx install "pyffmpegcore==0.3.3"
pyffmpegcore --version
pyffmpegcore doctor
pyffmpegcore smoke-test
From a checkout, use ./install.ps1; do not run the POSIX shell installer on Windows.
Python project dependency¶
For a Python project dependency:
python -m pip install "pyffmpegcore==0.3.3"
Use an appropriate compatible-release constraint after validating future versions against your own media workflows.
There is no Homebrew tap today. The project will add and maintain one only after public demand justifies another release channel; Homebrew can still install the external FFmpeg dependency.
Verify the selected binaries¶
pyffmpegcore doctor --json
The report includes resolved paths, versions, build configuration, capability counts, selected workflow encoders/filters, and hardware accelerators. If a capability listing times out, capabilities is null, capabilities_error explains the failure, and doctor exits with code 3. Supplying an untrusted --ffmpeg-path or --ffprobe-path executes that binary; treat it like any other executable.