In the spring of 2024, FFmpeg 7.0 "Dijkstra" debuted – a new, major stable version of this incredibly popular tool. This update brings not only support for new codecs but also fundamental changes under the hood, including revolutionary command-line multithreading. For creators, streamers, and administrators, this is an opportunity for faster and more efficient work. Let's check exactly what has changed and whether this is a good time to upgrade.
For years, FFmpeg has remained the foundation of multimedia processing in thousands of projects – from simple scripts to massive streaming platforms. Version 7.0 "Dijkstra" (named after the distinguished computer science pioneer, Edsger Dijkstra) is more than just another number in the portfolio. This release brings plenty of practical new features: from better support for modern codecs and higher performance to more convenient command-line usage. It is worth taking a closer look at these changes.
Official release and development cycle
FFmpeg 7.0 was released after an intensive development period. The team focused not only on implementing new features but primarily on improving stability and thoroughly cleaning up legacy code. For users, this means a more stable foundation for daily work and better compatibility with modern hardware.
It is worth remembering that the new branch will be regularly supported and patched. Moving to version 7.x is a natural step for anyone who wants to take advantage of the latest hardware optimizations and security patches.
New codecs: AV1, VVC, and modern formats
FFmpeg has always acted as a bridge between new standards and the open-source world. In this release, this role is even more visible. Here are the most important new features in the area of video and audio support:
1. AV1 – stable evolution and better acceleration
Support for the open AV1 codec is constantly evolving. FFmpeg improves integration with key libraries:
- libaom – the official library has gained better support for hardware acceleration on modern graphics chips.
- SVT-AV1 – the popular encoder now runs more stably and offers a better quality-to-speed ratio for encoding.
- dav1d – the AV1 decoder has been optimized for even faster playback of content without excessive CPU load.
Industry analyses, including those on the Phoronix portal, show that these optimizations translate into smoother AV1 decoding on GPUs (e.g., using Vulkan) and lower power consumption on portable devices.
2. VVC (H.266) – native decoder enters the game
The VVC (Versatile Video Coding) standard, the successor to HEVC, has received an experimental, native decoder in FFmpeg 7.0. This is a milestone for the adoption of this format. Although this technology is still evolving, it already allows for testing incredible compression performance, especially with 4K and 8K content.
Implementing VVC support is an important step forward, although the standard still requires refinement. However, the new FFmpeg release provides a great opportunity to test and experiment with this codec in real-world conditions.
3. EVC (MPEG-5) and IAMF
The new version also includes support for EVC (Essential Video Coding), which has the potential to become an interesting alternative in the mobile market thanks to good compression with reasonable computational requirements. Additionally, FFmpeg has introduced full support for the IAMF (Immersive Audio Model and Formats) audio format, which will please creators working with 3D spatial audio.
4. Improvements in classic codecs
Older but still popular formats have not been forgotten:
- H.264/x264 – stability has been improved and minor code optimizations have been introduced.
- H.265/x265 – HDR metadata support (including Dolby Vision and HDR10+) has been improved, and the encoding process has been optimized for demanding quality profiles.
- VP9 – decoding fixes translate into more stable high-resolution video playback.
Video filters and image processing
FFmpeg is famous for its powerful filters. In the new version, developers focused on improving processing quality and integration with modern technologies:
1. Advanced scaling with nnedi3
The nnedi3 filter, based on advanced interpolation algorithms, allows for excellent scaling and deinterlacing of video content. It works great for reconstructing older footage, minimizing the creation of jagged edges and noise.
Example usage:
ffmpeg -i input.mp4 -vf "nnedi3" output.mp4
2. Neural network-based filters (DNN)
FFmpeg consistently develops support for filters using deep neural networks (DNN). Thanks to integration with engines like TensorFlow Lite or OpenVINO, it is possible to perform tasks such as automatic noise reduction, intelligent scaling (super-resolution), or image retouching directly from the command line.
3. Better HDR and color management
Collaboration with the libplacebo library has been improved, allowing for much more accurate and faster color rendering on the GPU. Conversion between different color spaces (e.g., HDR to SDR) has become more precise, which eliminates the problem of "washed-out" colors after compression.
Performance: a revolution in multithreading
The biggest and most important change under the hood is the refactoring of the command-line (CLI) tool itself, which has become fully multithreaded. What does this mean in practice?
1. End of bottlenecks
In older versions, processing multiple streams simultaneously often blocked on a single CPU thread. Now, FFmpeg can decode, filter, and encode different data pipelines in parallel, which allows for fully utilizing modern, multi-core processors.
2. SIMD optimizations
Thanks to expanded support for AVX-512 and NEON (for ARM processors) instructions, operations such as image scaling or pixel format conversion are performed much faster, offloading the main processing unit.
3. Better memory management
Cleaning up the code and removing obsolete libraries has allowed for a reduction in memory overhead. FFmpeg runs more stably during long-term transcoding processes on servers, minimizing the risk of memory leaks.
Comparison of key features:
| Area | Older FFmpeg versions | FFmpeg 7.0 |
|---|---|---|
| CLI multithreading | Limited | Full multithreading |
| VVC (H.266) decoding | No native support | Experimental native decoder |
| IAMF format | No support | Full format support |
| SIMD optimizations | Basic | Extended (e.g., AVX-512) |
Changes in dependent libraries – what has changed?
| Library | Role in FFmpeg | Key improvements |
|---|---|---|
| libaom | AV1 encoding/decoding | Further performance optimizations |
| dav1d | Fast AV1 decoding | Improvements for multi-core processors |
| vvdec / native decoder | VVC standard support | Ability to test the new codec |
| libplacebo | Image processing and HDR | Better rendering using GPU |
Compatibility and potential challenges
Moving to the new version brings huge benefits, but it is worth keeping a few technical issues in mind:
1. Cleaning up legacy code
FFmpeg consistently removes old, long-unused features and CLI options. If you use complex, long-standing scripts, ensure that all used switches are still supported before production deployment.
2. Hardware requirements and drivers
Full utilization of hardware acceleration (e.g., via Vulkan, CUDA, or Direct3D 12) requires up-to-date graphics drivers. On older operating systems, some modern features may not be available.
CLI tools: what's new in ffprobe and ffmpeg?
Small but extremely useful changes have also affected the auxiliary tools themselves:
- ffprobe has gained better metadata analysis options, making it easier to quickly check parameters of HDR streams and advanced audio formats.
- Error logging has been improved – messages are now more precise, which makes debugging complex processing pipelines easier.
Who is the new FFmpeg version for? Summary
The new release is a huge step forward that will be appreciated by various user groups:
For video creators and streamers:
- Faster and more stable AV1 encoding.
- Better HDR conversion and more accurate color reproduction.
- Ability to experiment with the innovative VVC format.
For administrators and developers:
- Full CLI multithreading, which allows for maximum utilization of server resources.
- Lower memory overhead and more stable operation under heavy load.
- Simplified dependency structure facilitating compilation.
If your work relies on mass video processing, upgrading to the new version will bring noticeable relief to your CPU. However, for critical production systems, it is always worth performing prior compatibility tests on your existing scripts.
What's next? Development plans
The creators of FFmpeg are not slowing down. The coming months will bring further development of the native VVC decoder, even deeper integration with modern graphics interfaces (such as Vulkan and WebGPU), and optimization of artificial intelligence algorithms for real-time image processing.
Sources
- https://9to5linux.com/ffmpeg-9-0-lei-open-source-multimedia-framework-officially-released
- https://www.phoronix.com
- https://git.ffmpeg.org/gitweb/ffmpeg.git/blob/refs/tags/n9.0:/Changelog
- https://www.phoronix.com/news/FFmpeg-9.0-Released
- https://www.videolan.org/developers/ffmpeg.html
- https://www.intel.com/content/www/us/en/developer/articles/technical/av1-encoding-ffmpeg-9-0.html
- https://x265.readthedocs.io/en/master/releasenotes.html
- https://aomedia.googlesource.com/aom/+log/v3.9.0
Comments