FFmpeg 9.0 is named for the man who taught Chinese developers FFmpeg
New Vulkan and VideoToolbox acceleration paths, animated WebP decoding, Dolby Vision layer splitting, and a major version bump on every core library.
Every core library got a version bump. If your pipeline touches transcoding, this one is not optional.
FFmpeg 9.0 was released on August 4, 2026, cut from master on June 26, about four and a half months after 8.1. It is codenamed Lei, and the name is the story: it honours Lei Xiaohua, the Chinese developer whose Chinese-language FFmpeg tutorials between 2013 and 2016 taught a generation of developers the library and earned him the nickname God Lei. He died in 2016. The release marks ten years.
What is in it
The headline additions are animated WebP decoding, APV hardware acceleration on Vulkan, ProRes RAW acceleration through VideoToolbox, HE-AAC 960 decoding for DAB+ broadcasts, SMPTE 2094-50 HDR metadata support and passthrough, a bitstream filter that splits multi-layer Dolby Vision HEVC, a Vulkan panoramic filter, a CUDA transpose filter, and a Playdate video encoder and muxer. Every core library takes a major version bump, with libavcodec and libavformat moving into the 63 series. The Opus encoder rewrite did not make this release and is slated for 9.1.
The bumps are the part that will bite
A major soname bump across every core library means this is not a drop-in upgrade for anything that links against FFmpeg rather than shelling out to the binary. If you distribute software that bundles it, or you run a container image that pulls a system FFmpeg, the upgrade needs testing rather than a version bump in a Dockerfile. That is the ordinary cost of a major release and it is entirely predictable, but it is predictable in the way that only helps if somebody looks before the deploy.
Why a build studio cares
FFmpeg is one of those dependencies that sits under a surprising amount of what we ship without ever being discussed: thumbnailing, transcoding uploads, generating preview clips, normalising whatever format a client's users actually send. It is infrastructure in the truest sense, which is to say nobody thinks about it until a release changes something. This is a release that changes something on every core library at once, so it is worth ten minutes now rather than an afternoon later.
Next step: read the release notes on the n9.0 tag and check the full Changelog for anything your pipeline depends on. If you want a media pipeline built to survive its own dependencies, write to us at hello@gattyworks.com.