Software 44651 Published by

FFmpeg 9.0 "Lei" officially launched on August 4, 2026, arriving roughly four months after version 8.1. The release pushes every core library into new major versions, with libavcodec and libavformat crossing into the 63 series. While the full changelog is still being mapped out, the version increments signal substantial internal changes to the project’s encoder and decoder architecture. Developers and media pipeline engineers should expect to rebuild their dependencies and run regression tests before deploying to production.





FFmpeg 9.0 “Lei” drops four months after 8.1, bumps library versions across the board

FFmpeg just shipped its next major stable release. FFmpeg 9.0, internally codenamed “Lei,” went live on ffmpeg.org today. The version lands roughly four months after FFmpeg 8.1, which sits a touch ahead of the project’s usual half-year cadence.

If you watch media pipelines the way I do, the library version bumps are the real signal. libavutil, libavcodec, libavformat, libavdevice, libavfilter, swscale, and swresample all crossed into new major versions. libavcodec and libavformat both jumped into the 63 series. That kind of increment almost always means the decoder and encoder internals got rewritten or heavily optimized. The release announcement notes the branch was cut on June 26, which tracks with a tight six-week push after the freeze.

Ffmpeg

Not exactly a point release.

The timing is worth a look. FFmpeg 8.1 shipped in mid-June. Four months in means the core team spent roughly two months on the actual 9.0 build cycle. Head here to the official release page if you want to grab the tarballs straight from the source.

I’ll be upfront: the full changelog is still catching up to the commit history, so the exact list of new codecs and API shifts isn’t fully mapped out yet. The release notes are up, but sifting through thousands of patches is a weekend job. Keep in mind that if your build system pulls in libavcodec 63, you’ll probably want to test your video stacks before pushing anything to production. That tells you something about how quickly the media pipeline moves these days.

What the numbers actually mean

Next, the exact library matrix. FFmpeg 9.0 ships with libavutil at 61.1.100, libavcodec at 63.1.100, libavformat at 63.1.100, libavdevice at 63.1.100, libavfilter at 12.1.100, swscale at 10.1.100, and swresample at 7.1.100. Those .100 tail numbers follow the standard major-version bump pattern they use when crossing into a new stable cycle. It’s a clean break from 8.x.

It’s a familiar story if you’ve been following FFmpeg for years. The project remains the invisible engine under your media players, streaming platforms, and video editors. Every time a new version drops, the same cycle repeats: rebuild your packages, update your CI pipelines, and hope someone already benchmarked the new encoder. The version jump here is unambiguous. You won’t be guessing what changed.

The official changelog will fill in the details as the commit log stabilizes. You can compare the tags yourself with git log n8.1..n9.0 over at the FFmpeg GitHub repository. Pre-compiled packages for Debian, Ubuntu, Fedora, and Windows will follow through the usual distribution channels. Verification is still handled via PGP signatures, so don’t skip the key check.