# Install ffms2 with Homebrew, apk, apt, dnf, MacPorts, pacman, zypper

Libav/ffmpeg based source library and Avisynth plugin. Version 5.0 via Homebrew; verified 2026-06-28.

## Install

```sh
sudo av install brew:ffms2
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install ffms2
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install ffms2
```

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

### Linux

- apk (92%):

```sh
sudo apk add ffms2
```

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

- Debian apt (92%):

```sh
sudo apt install ffmsindex
```

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

- dnf (92%):

```sh
sudo dnf install ffms2
```

  Evidence: Fedora Rawhide package metadata: ffms2 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 ffms2
```

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

- zypper (92%):

```sh
sudo zypper install ffmsindex
```

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

## Package facts

- **Package key:** brew:ffms2
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/ffms2>
- **Version:** 5.0
- **Source summary:** Libav/ffmpeg based source library and Avisynth plugin
- **Homepage:** <https://github.com/FFMS/ffms2>
- **Repository:** <https://github.com/FFMS/ffms2>
- **Upstream docs:** <https://github.com/FFMS/ffms2#readme>
- **License:** GPL-2.0-or-later
- **Source archive:** <https://github.com/FFMS/ffms2/archive/refs/tags/5.0.tar.gz>
- **Last updated:** 2026-06-28T01:04:18-04:00
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- ffmsindex (cli)
- ffmsindex (alias)

## Dependencies

- ffmpeg

## Build dependencies

- autoconf
- automake
- libtool
- pkgconf
- python@3.14

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 5.0
- Package-manager updated: 2026-06-28
- Local data: ok
- Upstream repository: https://github.com/FFMS/ffms2
- Upstream latest detected: 5.0 (current)
## Project history and usage

FFMS2, also called FFmpegSource, is a cross-platform wrapper library around FFmpeg plus Avisynth and VapourSynth source plugins for frame- and sample-accurate media access.

### Project history

The project originated as an Avisynth file-reader plugin named FFmpegSource; its README explains that version 1 was only an Avisynth plugin and that FFMS2 grew into the reusable library form. Internally it is C++, while the public API is pure C, making it linkable from C-compatible applications.

FFMS2 has historically tracked FFmpeg and Libav API churn closely. Its changelog records support for recent FFmpeg builds, VapourSynth support in the 2.18 era, API and index improvements across the 2.x releases, removal of old Libav support in 2.40, and a 5.x line that raised minimum FFmpeg requirements.

### Adoption history

The package matters most in video scripting and fansubbing-adjacent workflows where Avisynth or VapourSynth scripts need reliable opening, indexing, seeking, VFR handling, Unicode path handling, and access to FFmpeg's broad demuxer and decoder support. Package managers expose the ffmsindex tool and the library/plugin pieces so scripts can build repeatable indexes before frame access.

### How it is used

End users most visibly use FFMS2 through the Avisynth or VapourSynth source plugin, while developers can link the C API. The ffmsindex executable builds index files so later frame and audio access can be deterministic instead of relying on ad hoc seeking through containers.

### Why package nerds care

FFMS2 is a dependency-sensitive media package: it wraps FFmpeg, but its value is hiding FFmpeg API complexity from script authors and applications. The changelog's repeated compatibility entries explain why packagers care about aligning FFMS2 releases with the FFmpeg versions in the same repository.

### Timeline

- 2013: FFMS2 2.18 added VapourSynth support.
- 2020: FFMS2 2.40 removed old Libav support and refreshed FFmpeg API usage.
- 2024: FFMS2 5.0 fixed FFmpeg 6.1 compatibility and made FFmpeg 6.1 the minimum.
- 5.1: FFMS2 raised its minimum requirement to FFmpeg 7.1.

### Related projects

- FFmpeg is the decoding and demuxing foundation. Avisynth and VapourSynth are the scripting environments where FFMS2's source plugins are most visible.

### Sources

- <https://github.com/FFMS/ffms2/blob/master/README.md>
- <https://github.com/FFMS/ffms2/blob/master/doc/ffms2-changelog.md>
- <https://github.com/FFMS/ffms2/releases>
- <https://formulae.brew.sh/formula/ffms2>


## Security Notes

library-like package without higher-risk signals.

- **Geiger risk:** green / low
- library-like package without higher-risk signals

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** ffms2
- **Version Scheme:** 0
- **Revision:** 4
- **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 - ffmsindex - 5.0-1+b1: normalized package name match | Debian stable package indexes: ffmsindex from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Command line tool to create ffms2 index files | https://github.com/FFMS/ffms2
- Debian apt - libffms2-5 - 5.0-1+b1: normalized package name match | Debian stable package indexes: libffms2-5 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Cross platform ffmpeg wrapper library | https://github.com/FFMS/ffms2
- Debian apt - libffms2-dev - 5.0-1+b1: normalized package name match | Debian stable package indexes: libffms2-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Development files for libffms2 | https://github.com/FFMS/ffms2
- Ubuntu apt - ffmsindex - 5.0~rc2-1build1: normalized package name match | Ubuntu 24.04 LTS package indexes: ffmsindex from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Command line tool to create ffms2 index files | https://github.com/FFMS/ffms2
- Ubuntu apt - libffms2-5 - 5.0~rc2-1build1: normalized package name match | Ubuntu 24.04 LTS package indexes: libffms2-5 from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Cross platform ffmpeg wrapper library | https://github.com/FFMS/ffms2
- Ubuntu apt - libffms2-dev - 5.0~rc2-1build1: normalized package name match | Ubuntu 24.04 LTS package indexes: libffms2-dev from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Development files for libffms2 | https://github.com/FFMS/ffms2
- apk - ffms2 - 5.0-r2: normalized package name match | Alpine Linux edge package indexes: ffms2 from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz | Cross-platform wrapper library around FFmpeg | https://github.com/FFMS/ffms2
- apk - ffms2-dev - 5.0-r2: normalized package name match | Alpine Linux edge package indexes: ffms2-dev from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz | Cross-platform wrapper library around FFmpeg (development files) | https://github.com/FFMS/ffms2
- apk - ffms2-doc - 5.0-r2: normalized package name match | Alpine Linux edge package indexes: ffms2-doc from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz | Cross-platform wrapper library around FFmpeg (documentation) | https://github.com/FFMS/ffms2
- dnf - ffms2 - 5.0-8.fc44: normalized package name match | Fedora Rawhide package metadata: ffms2 from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Video source library for easy frame accurate access | https://github.com/FFMS/ffms2
- dnf - ffms2-devel - 5.0-8.fc44: normalized package name match | Fedora Rawhide package metadata: ffms2-devel from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Development package for ffms2 | https://github.com/FFMS/ffms2
- pacman - ffms2 - 5.0-3: normalized package name match | Arch Linux sync databases: ffms2 from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | A libav/ffmpeg based source library and Avisynth plugin for easy frame accurate access | https://github.com/FFMS/ffms2
- zypper - ffmsindex - 5.0+0-1.10: normalized package name match | openSUSE Tumbleweed package metadata: ffmsindex from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Wrapper library around libffmpeg | https://github.com/FFMS/ffms2
- zypper - libffms2-5 - 5.0+0-1.10: normalized package name match | openSUSE Tumbleweed package metadata: libffms2-5 from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Wrapper library around libffmpeg | https://github.com/FFMS/ffms2
- zypper - libffms2-devel - 5.0+0-1.10: normalized package name match | openSUSE Tumbleweed package metadata: libffms2-devel from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Wrapper library around libffmpeg | https://github.com/FFMS/ffms2
- MacPorts - ffms2: normalized package name match | MacPorts ports tree: multimedia/ffms2/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Related links

- [Source-control packages](https://www.automicvault.com/pkg/source-control-tools/) - Belongs to a source-control command family.
- [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.
- [ffmpeg](https://www.automicvault.com/pkg/brew/ffmpeg/) - Runtime dependency declared by Homebrew.
- [autoconf](https://www.automicvault.com/pkg/brew/autoconf/) - Build dependency declared by Homebrew.
- [automake](https://www.automicvault.com/pkg/brew/automake/) - Build dependency declared by Homebrew.
- [libtool](https://www.automicvault.com/pkg/brew/libtool/) - Build dependency declared by Homebrew.
- [pkgconf](https://www.automicvault.com/pkg/brew/pkgconf/) - Build dependency declared by Homebrew.
- [siril](https://www.automicvault.com/pkg/brew/siril/) - Popular package that depends on this formula.
- [ffmpegthumbnailer](https://www.automicvault.com/pkg/brew/ffmpegthumbnailer/) - Shares av.db curated category or tags: cli, ffmpeg, media, video.
- [libvmaf](https://www.automicvault.com/pkg/brew/libvmaf/) - Shares av.db curated category or tags: cli, library, media, video.
- [libwebm](https://www.automicvault.com/pkg/brew/libwebm/) - Shares av.db curated category or tags: cli, library, media, video.
- [smpeg](https://www.automicvault.com/pkg/brew/smpeg/) - Shares av.db curated category or tags: cli, library, media, video.
- [video-compare](https://www.automicvault.com/pkg/brew/video-compare/) - Shares av.db curated category or tags: cli, ffmpeg, media, video.
- [zvbi](https://www.automicvault.com/pkg/brew/zvbi/) - Shares av.db curated category or tags: cli, library, media, video.
- [bento4](https://www.automicvault.com/pkg/brew/bento4/) - Shares av.db curated category or tags: cli, media, video.
- [ccextractor](https://www.automicvault.com/pkg/brew/ccextractor/) - Shares av.db curated category or tags: cli, media, video.
- [lazycut](https://www.automicvault.com/pkg/brew/lazycut/) - Both packages work with overlapping file formats or content types. Shared terms: based, cli, ffmpeg, media, video.

## Combined YAML source

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


## Sources

- Nucleus package database
- Geiger risk classifier
- 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
