
Every video you watched today — on YouTube, on WhatsApp, on streaming TV — almost certainly passed through FFmpeg at some point along the way. It is probably the most widely used and least known software on the planet: an audio and video toolbox that became the internet's invisible infrastructure. This is its story — from the brilliant French hacker who created it to the fork that split the community, to the present in which a handful of volunteers supports the world's video.
2000: the birth of a “fast MPEG”
FFmpeg appeared in 2000, published by a certain “Gérard Lantau” — a pseudonym for Fabrice Bellard, one of the most legendary programmers of our era (he would later create QEMU, Tiny C Compiler, and records for calculating π). The name combines “FF” from fast forward with MPEG, the compression standard of the time. The proposal was bold: instead of relying on scattered proprietary codecs, implement decoders and encoders from scratch, in pure C, in a single library — libavcodec.
Around it grew the family we know: libavformat (containers and muxing), libswscale (color conversion and scaling), libavfilter (filters and effects) and the three everyday executables — ffmpeg, ffprobe and ffplay.
The Niedermayer era
Bellard is the kind of person who creates projects and moves on to the next one. In 2004, leadership passed to Michael Niedermayer, who for more than a decade was synonymous with FFmpeg: obsessive optimizations, support for obscure formats nobody else would implement, and a policy of “decode everything, including broken files” that made the project the ultimate Swiss Army knife. MPlayer, VLC, and virtually every Linux video player were built on libavcodec.
2011: the Libav fork — the civil war
In January 2011, a group of developers unhappy with Niedermayer's leadership style took a drastic step: a fork. This gave birth to Libav, taking many of the active committers with it. The confusion was epic: Debian and Ubuntu adopted Libav, the command ffmpeg disappeared from distributions and was replaced by avconv, and millions of users spent years typing ffmpeg only to receive a confusing “deprecated” warning.
Meanwhile, Niedermayer was doing something insane: merging daily all of Libav's work back into FFmpeg, while also developing his own. The result: FFmpeg had everything Libav did and more. The war ended in exhaustion — Debian returned to FFmpeg in 2015, Ubuntu followed, and Libav dwindled until it stopped. That same year, Niedermayer stepped down from leadership to calm tensions, remaining a prolific committer to this day.
The invisible infrastructure of the world's video
The list of FFmpeg users is the list of everyone working with video: YouTube processes uploads with it, Chrome and Firefox load it to play media, VLC, OBS, Kodi, HandBrake, and Plex are interfaces built around it, and it runs embedded in everything from smart TVs to security cameras. When modern codecs arrived — H.264, HEVC, VP9, AV1 — it was the combination of FFmpeg + allied projects (x264, x265, dav1d) that put them in everyone's hands.
That ubiquity comes at a price: because FFmpeg opens any file, it became a prime target for fuzzing and security research. Hundreds of CVEs later, the project maintains one of the fastest patch cycles in open source — it has to, because a bug in libavcodec is a bug in half the internet.
Modernization: FFmpeg 5, 6, and 7
After years of conservative releases, the project picked up speed: FFmpeg 5.0 (2022) cleaned up historical APIs; 6.0 (2023) standardized the annual major release cycle; and 7.0 (2024) brought the most visible change in decades — the multithreaded CLI, with demuxers, decoders, filters, and encoders finally running in separate threads. Alongside it came hardware decoding via Vulkan, AV1 on GPUs, and native VVC support. Assembly programming is still a living tradition in the project: critical routines have hand-optimized versions for x86, ARM/NEON, and now RISC-V.
The funding drama
The contrast became famous: trillions of dollars in products depend on a project maintained by a few unpaid volunteers. In recent years, tensions became public, with maintainers openly pressing big tech companies — which report bugs as “critical to their products” without contributing a penny — with the old maxim: “send patches”. Public funds such as Germany's Sovereign Tech Fund began funding maintenance work, but the numbers still do not add up. It is the classic xkcd case of a “dependency maintained by some random person in Nebraska” — only on a planetary scale.
In practice: 3 commands that solve 90%
# converter qualquer coisa para MP4/H.264 com qualidade sensata
ffmpeg -i entrada.mkv -c:v libx264 -crf 22 -preset medium -c:a aac saida.mp4
# extrair o áudio sem recodificar
ffmpeg -i video.mp4 -vn -c:a copy audio.m4a
# inspecionar um arquivo (codecs, bitrate, streams)
ffprobe -hide_banner video.mp4
Timeline
- 2000 — Fabrice Bellard creates FFmpeg (under the pseudonym “Gérard Lantau”)
- 2004 — Michael Niedermayer takes over leadership of the project
- jan/2011 — The Libav fork splits the community; takes many of the committers
- 2011–2015 — Debian and Ubuntu adopt Libav (avconv command); Niedermayer merges Libav into FFmpeg daily
- 2015 — Debian returns to FFmpeg; Libav dwindles; Niedermayer steps down from leadership
- 2022 — FFmpeg 5.0: cleanup of historical APIs
- 2023 — FFmpeg 6.0: annual major release cycle
- 2024 — FFmpeg 7.0: multithreaded CLI, Vulkan decoding, VVC support
The lesson of 25 years
FFmpeg proved that a well-written C library, with no marketing and no company behind it, can become more essential than any commercial product in its field. It survived a hostile fork, codec patent wars, and its own success. If you work with Linux and media, mastering ffmpeg on the command line remains one of the best returns per hour of study available. And it is further proof of the idea running through Linux and its 35 years: the infrastructure driving the digital world is almost entirely free software maintained by a few hands.