# Install ffmpeg with Homebrew, apk, chocolatey, apt, dnf, MacPorts, pacman, scoop, winget, zypper

Play, record, convert, and stream select audio and video codecs. Version 8.1.2 via Homebrew; verified 2026-07-05.

## Install

```sh
sudo av install brew:ffmpeg
```

## Agent safety answer

ffmpeg processes media files and can read or overwrite local artifacts.

- **Credential access:** Can read input files, network URLs, and metadata that may be sensitive.
- **Remote mutation:** Usually local, but supports network inputs and outputs.
- **Publish/artifact risk:** Can create, overwrite, or stream media artifacts.
- **Recommended control:** Gate network outputs, overwrites, and reads from sensitive paths.
- **Agent-use guidance:** Allow local transforms in safe directories; require approval for overwrites, uploads, and sensitive inputs.

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install ffmpeg
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install ffmpeg
```

  Evidence: MacPorts ports tree: multimedia/ffmpeg/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- apk (92%):

```sh
sudo apk add ffmpeg
```

  Evidence: Alpine Linux edge package indexes: ffmpeg from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz

- Debian apt (92%):

```sh
sudo apt install ffmpeg
```

  Evidence: Debian stable package indexes: ffmpeg from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- dnf (92%):

```sh
sudo dnf install ffmpeg-free
```

  Evidence: Fedora Rawhide package metadata: ffmpeg-free from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst

- pacman (92%):

```sh
sudo pacman -S ffmpeg
```

  Evidence: Arch Linux sync databases: ffmpeg from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

- zypper (92%):

```sh
sudo zypper install ffmpeg-4
```

  Evidence: openSUSE Tumbleweed package metadata: ffmpeg-4 from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst

### Windows

- Chocolatey (92%):

```sh
choco install ffmpeg
```

  Evidence: Chocolatey community package catalog: ffmpeg from http://community.chocolatey.org/api/v2/Packages?$filter=IsLatestVersion&$select=Id&$top=1000&$skiptoken='11','fah'

- Scoop (92%):

```sh
scoop install main/ffmpeg
```

  Evidence: Scoop official bucket manifest trees: bucket/ffmpeg.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1

- winget (92%):

```sh
winget install --id Gyan.FFmpeg -e
```

  Evidence: Windows Package Manager source index: Gyan.FFmpeg from https://cdn.winget.microsoft.com/cache/source.msix

## Package facts

- **Package key:** brew:ffmpeg
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/ffmpeg>
- **Version:** 8.1.2
- **Source summary:** Play, record, convert, and stream select audio and video codecs
- **Homepage:** <https://ffmpeg.org/>
- **Repository:** <https://git.ffmpeg.org/ffmpeg.git>
- **Upstream docs:** <https://ffmpeg.org/documentation.html>
- **License:** GPL-3.0-or-later
- **Source archive:** <https://ffmpeg.org/releases/ffmpeg-8.1.2.tar.xz>
- **Last updated:** 2026-07-05T23:07:18Z
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- aviocat (cli)
- bisect-create (cli)
- check_arm_indent.sh (cli)
- clean-diff (cli)
- compare-cvelists.sh (cli)
- crypto_bench (cli)
- cws2fws (cli)
- dvd2concat (cli)
- enc_recon_frame_test (cli)
- enum_options (cli)
- ffescape (cli)
- ffeval (cli)
- ffhash (cli)
- ffmpeg (cli)
- ffplay (cli)
- ffprobe (cli)
- fourcc2pixfmt (cli)
- gen-rc (cli)
- general_assembly.pl (cli)
- graph2dot (cli)
- indent_arm_assembly.pl (cli)
- ismindex (cli)
- loudnorm.rb (cli)
- make_chlayout_test (cli)
- merge-all-source-plugins (cli)
- missing_codec_desc (cli)
- murge (cli)
- normalize.py (cli)
- patcheck (cli)
- pktdumper (cli)
- plotframes (cli)
- probetest (cli)
- qt-faststart (cli)
- scale_slice_test (cli)
- seek_print (cli)
- sidxindex (cli)
- source2c (cli)
- target_dec_fate.sh (cli)
- trasher (cli)
- uncoded_frame (cli)
- unwrap-diff (cli)
- venc_data_dump (cli)
- zmqshell.py (cli)
- aviocat (alias)
- bisect-create (alias)
- check_arm_indent.sh (alias)
- clean-diff (alias)
- compare-cvelists.sh (alias)
- crypto_bench (alias)
- cws2fws (alias)
- dvd2concat (alias)
- enc_recon_frame_test (alias)
- enum_options (alias)
- ffescape (alias)
- ffeval (alias)
- ffhash (alias)
- ffmpeg (alias)
- ffplay (alias)
- ffprobe (alias)
- fourcc2pixfmt (alias)
- gen-rc (alias)
- general_assembly.pl (alias)
- graph2dot (alias)
- indent_arm_assembly.pl (alias)
- ismindex (alias)
- loudnorm.rb (alias)
- make_chlayout_test (alias)
- merge-all-source-plugins (alias)
- missing_codec_desc (alias)
- murge (alias)
- normalize.py (alias)
- patcheck (alias)
- pktdumper (alias)
- plotframes (alias)
- probetest (alias)
- qt-faststart (alias)
- scale_slice_test (alias)
- seek_print (alias)
- sidxindex (alias)
- source2c (alias)
- target_dec_fate.sh (alias)
- trasher (alias)
- uncoded_frame (alias)
- unwrap-diff (alias)
- venc_data_dump (alias)
- zmqshell.py (alias)

## Dependencies

- dav1d
- lame
- libvmaf
- libvpx
- openssl@3
- opus
- sdl2-compat
- svt-av1
- x264
- x265

## Build dependencies

- pkgconf

## Uses from macOS

- bzip2
- libxml2

## Install behavior

- Post-install hook: not defined
- Caveats: ffmpeg-full includes additional tools and libraries that are not included in the regular ffmpeg formula.
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 8.1.2
- Package-manager updated: 2026-07-05
- Local data: ok
- Upstream repository: https://ffmpeg.org/
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

FFmpeg is one of the canonical command-line multimedia packages: a source-first upstream project, a set of reusable codec/container/filter libraries, and the `ffmpeg`, `ffplay`, and `ffprobe` tools used everywhere from one-line conversions to production media pipelines.

### Project history

The official project describes FFmpeg as a multimedia framework that can decode, encode, transcode, mux, demux, stream, filter, and play media across formats from old obscure inputs to cutting-edge codecs. Its architecture combines user-facing tools with libraries such as libavcodec, libavformat, libavfilter, libavdevice, libswscale, and libswresample.

FFmpeg's upstream culture is explicitly developer-driven and source-first. The download page says FFmpeg provides source code and points users to distributions and build providers for compiled packages. It also notes that development branch snapshots are often used because the project changes constantly and release branches cherry-pick selected fixes.

### Adoption history

FFmpeg's adoption is visible in its official packaging guidance: the project links to Debian, Ubuntu, Fedora/RHEL, Windows, and macOS build sources rather than shipping one blessed binary for every platform. That mirrors how FFmpeg became a package-manager staple rather than only an application downloaded from upstream.

The release process is oriented toward distributors and system integrators. Upstream documents roughly six-month major releases with point releases for important fixes, release signatures, git tags, and branch-specific release notes.

### How it is used

The core command-line pattern is `ffmpeg -i input output`: read one or more inputs, select streams, optionally filter or transcode them, and write one or more outputs. `ffprobe` is used to inspect streams and metadata, while `ffplay` provides a simple player based on FFmpeg libraries.

Package users care about the exact build because enabled libraries determine available encoders, decoders, filters, devices, and protocols. A stock distro build, Homebrew build, static Windows build, and custom source build can all behave differently while sharing the same upstream name.

### Why package nerds care

FFmpeg is a package-manager stress test: it touches codec licensing, optional dependencies, hardware acceleration, network protocols, security updates for untrusted media parsing, and ABI-sensitive libraries consumed by other applications.

Its combination of command-line tools and shared libraries means it is both an end-user utility and infrastructure for other media software. That dual identity is why package maintainers track branch support, dependency choices, and security backports closely.

### Timeline

- 2011: FFmpeg release signing key date documented by upstream release verification instructions.
- 2015: FFmpeg 2.8 branch cut from master on 2015-09-05, later maintained through 2.8.22.
- 2024-2026: Upstream release pages show active major/minor release branches and point releases for distributors and integrators.
- 2026: FFmpeg 8.1.2 listed as a stable source release on the official download page.

### Related projects

- ffmpeg-full is a Homebrew formula variant with a broader optional dependency set.
- ffmpeg2theora is an older converter that used FFmpeg decoding to produce Ogg Theora/Vorbis outputs.
- FFmate is a newer automation layer that runs FFmpeg behind a server/API workflow.

### Sources

- <https://ffmpeg.org/about.html>
- <https://ffmpeg.org/download.html>
- <https://ffmpeg.org/documentation.html>
- <https://ffmpeg.org/ffmpeg.html>
- <https://formulae.brew.sh/api/formula/ffmpeg.json>


## Security Notes

doc example: broad media transform and device-capable tool.

- **Geiger risk:** blue / high
- doc example: broad media transform and device-capable tool
- **Approval gate rules:** 4

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** ffmpeg
- **Aliases:** ffmpeg@8
- **Version Scheme:** 0
- **Revision:** 1
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## Other Package-Manager Records

- Debian apt - ffmpeg - 7:7.1.3-0+deb13u1: normalized package name match | Debian stable package indexes: ffmpeg from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Tools for transcoding, streaming and playing of multimedia files | https://ffmpeg.org/
- Debian apt - ffmpeg-doc - 7:7.1.3-0+deb13u1: normalized package name match | Debian stable package indexes: ffmpeg-doc from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Documentation of the FFmpeg multimedia framework | https://ffmpeg.org/
- Debian apt - libavcodec-dev - 7:7.1.3-0+deb13u1: normalized package name match | Debian stable package indexes: libavcodec-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | FFmpeg library with de/encoders for audio/video codecs - development files | https://ffmpeg.org/
- Debian apt - libavcodec-extra - 7:7.1.3-0+deb13u1: normalized package name match | Debian stable package indexes: libavcodec-extra from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | FFmpeg library with extra codecs (metapackage) | https://ffmpeg.org/
- Debian apt - libavcodec-extra61 - 7:7.1.3-0+deb13u1: normalized package name match | Debian stable package indexes: libavcodec-extra61 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | FFmpeg library with additional de/encoders for audio/video codecs | https://ffmpeg.org/
- Debian apt - libavcodec61 - 7:7.1.3-0+deb13u1: normalized package name match | Debian stable package indexes: libavcodec61 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | FFmpeg library with de/encoders for audio/video codecs - runtime files | https://ffmpeg.org/
- Debian apt - libavdevice-dev - 7:7.1.3-0+deb13u1: normalized package name match | Debian stable package indexes: libavdevice-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | FFmpeg library for handling input and output devices - development files | https://ffmpeg.org/
- Debian apt - libavdevice61 - 7:7.1.3-0+deb13u1: normalized package name match | Debian stable package indexes: libavdevice61 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | FFmpeg library for handling input and output devices - runtime files | https://ffmpeg.org/
- Debian apt - libavfilter-dev - 7:7.1.3-0+deb13u1: normalized package name match | Debian stable package indexes: libavfilter-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | FFmpeg library containing media filters - development files | https://ffmpeg.org/
- Debian apt - libavfilter-extra - 7:7.1.3-0+deb13u1: normalized package name match | Debian stable package indexes: libavfilter-extra from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | FFmpeg library with extra filters (metapackage) | https://ffmpeg.org/
- Debian apt - libavfilter-extra10 - 7:7.1.3-0+deb13u1: normalized package name match | Debian stable package indexes: libavfilter-extra10 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | FFmpeg library with extra media filters - runtime files | https://ffmpeg.org/
- Debian apt - libavfilter10 - 7:7.1.3-0+deb13u1: normalized package name match | Debian stable package indexes: libavfilter10 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | FFmpeg library containing media filters - runtime files | https://ffmpeg.org/
- Debian apt - libavformat-dev - 7:7.1.3-0+deb13u1: normalized package name match | Debian stable package indexes: libavformat-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | FFmpeg library with (de)muxers for multimedia containers - development files | https://ffmpeg.org/
- Debian apt - libavformat-extra - 7:7.1.3-0+deb13u1: normalized package name match | Debian stable package indexes: libavformat-extra from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | FFmpeg library with extra (de)muxers (metapackage) | https://ffmpeg.org/
- Debian apt - libavformat-extra61 - 7:7.1.3-0+deb13u1: normalized package name match | Debian stable package indexes: libavformat-extra61 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | FFmpeg library with additional (de)muxers for multimedia containers | https://ffmpeg.org/
- Debian apt - libavformat61 - 7:7.1.3-0+deb13u1: normalized package name match | Debian stable package indexes: libavformat61 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | FFmpeg library with (de)muxers for multimedia containers - runtime files | https://ffmpeg.org/


## Related links

- [Secret-risk packages](https://www.automicvault.com/pkg/secret-risk-packages/) - Has protected-tool coverage, approval-gate, or non-low Geiger security signals.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [Media and graphics packages](https://www.automicvault.com/pkg/media-graphics-tools/) - Matched media, image, audio, video, or graphics metadata.
- [dav1d](https://www.automicvault.com/pkg/brew/dav1d/) - Runtime dependency declared by Homebrew.
- [lame](https://www.automicvault.com/pkg/brew/lame/) - Runtime dependency declared by Homebrew.
- [libvmaf](https://www.automicvault.com/pkg/brew/libvmaf/) - Runtime dependency declared by Homebrew.
- [openssl@3](https://www.automicvault.com/pkg/brew/openssl-3/) - Runtime dependency declared by Homebrew.
- [sdl2-compat](https://www.automicvault.com/pkg/brew/sdl2-compat/) - Runtime dependency declared by Homebrew.
- [svt-av1](https://www.automicvault.com/pkg/brew/svt-av1/) - Runtime dependency declared by Homebrew.
- [pkgconf](https://www.automicvault.com/pkg/brew/pkgconf/) - Build dependency declared by Homebrew.
- [ab-av1](https://www.automicvault.com/pkg/brew/ab-av1/) - Popular package that depends on this formula.
- [audacious](https://www.automicvault.com/pkg/brew/audacious/) - Popular package that depends on this formula.
- [auto-editor](https://www.automicvault.com/pkg/brew/auto-editor/) - Popular package that depends on this formula.
- [av1an](https://www.automicvault.com/pkg/brew/av1an/) - Popular package that depends on this formula.
- [backgroundremover](https://www.automicvault.com/pkg/brew/backgroundremover/) - Popular package that depends on this formula.
- [bazarr](https://www.automicvault.com/pkg/brew/bazarr/) - Popular package that depends on this formula.
- [chromaprint](https://www.automicvault.com/pkg/brew/chromaprint/) - Popular package that depends on this formula.
- [cmus](https://www.automicvault.com/pkg/brew/cmus/) - Popular package that depends on this formula.
- [ffmpeg@2.8](https://www.automicvault.com/pkg/brew/ffmpeg-2-8/) - Package name indicates the same formula family.
- [ffmpeg@4](https://www.automicvault.com/pkg/brew/ffmpeg-4/) - Package name indicates the same formula family.
- [ffmpeg-full](https://www.automicvault.com/pkg/brew/ffmpeg-full/) - Shares the same upstream homepage.
- [ffmpeg2theora](https://www.automicvault.com/pkg/brew/ffmpeg2theora/) - Shares av.db curated category or tags: cli, encoding, media, video.
- [h264bitstream](https://www.automicvault.com/pkg/brew/h264bitstream/) - Shares av.db curated category or tags: cli, codec, media, video.
- [mkclean](https://www.automicvault.com/pkg/brew/mkclean/) - Shares av.db curated category or tags: cli, media, streaming, video.

## Combined YAML source

View the package source record on GitHub. [combined/ffmpeg.yml](https://github.com/automic-vault/db/blob/main/combined/ffmpeg.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- approval-gate seed metadata
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
- curated agent safety answer
