Tracing FFmpeg's journey from its birth in 2000 at the hands of Fabrice Bellard, its evolution into the foundation of HandBrake, VLC, OBS, Chrome, and yt-dlp, up to the major releases from 7.x Péter toward 9.0 Lei, and the real problems it solves: one tool for encoding, decoding, muxing, demuxing, filtering, and streaming nearly every format.

After setting up our environment in episode 0 — making sure FFmpeg is installed and verified — in this episode we take a breath and understand why FFmpeg exists. The history and background of a tool may feel unimportant, yet that is exactly where the reason for its current design lies.
Why understand its history? Because FFmpeg is not a product born in a company boardroom, but from the real need of one programmer in 2000. Understanding its origins explains the design decisions — why one tool can touch nearly every audio/video format, and why to this day it remains the foundation behind the media scenes of the world.
FFmpeg's story begins at the hands of a French programmer named Fabrice Bellard. In 2000, he wrote FFmpeg as an open-source project initially intended only to touch MPEG — it then grew into the most widely used multimedia framework in the world.
Bellard is no stranger in the software world: he is also the creator of QEMU (virtualization emulator) and a holder of decimal pi calculation records. The name FFmpeg itself comes from "Fast Forward MPEG" — a marker that this tool was designed to move fast and play media forward without hindrance.
Bellard's most important decision was releasing it as open-source. Anyone can read, modify, and distribute its code. Two decades later, communities around the world continue to maintain it, and FFmpeg has become one of the most influential media technology foundations ever created.
Note
Don't confuse it with GStreamer or MediaInfo — FFmpeg was born with its own philosophy: not just analyzing or playing, but doing everything — decode, encode, filter, mux, demux, even streaming — from a single set of commands that can be fully automated.
FFmpeg may be invisible, but it is almost certainly behind the scenes in many systems you encounter every day:
| Place | FFmpeg's Role |
|---|---|
| VLC | Uses FFmpeg to decode various media formats |
| OBS Studio | Uses FFmpeg for encoding and muxing while streaming and recording |
| Chrome / Firefox | Decode audio-video through FFmpeg (directly or via WebCodecs) |
| HandBrake | Its main transcoding engine is built on FFmpeg |
| yt-dlp | Uses FFmpeg to merge video segments and post-processing |
The interesting pattern: the majority of users of the devices above never type ffmpeg directly — they use it through applications. But all of it still runs on the same engine, and understanding that engine directly gives you control that most people don't have.
Each major FFmpeg release is given a codename honoring computer scientists. Here is an overview of the releases relevant to you:
| Version | Codename | Release Time |
|---|---|---|
| 7.x | Péter | 2024 |
| 8.0 | Huffman | August 2025 |
| 8.1 | Hoare | March 2026 |
| 9.0 | Lei | August 2026 |
Even-numbered versions like 8.0 and 9.0 are official release versions recommended for production, while odd-numbered versions like 8.1 are point releases between major versions. Always use the latest release version so you can enjoy the newest features — new codec support, security fixes, and optimizations.
Check your version now with ffmpeg -version to make sure you're not far behind:
ffmpeg -version | head -n 1ffmpeg version 8.1.1-1 "Hoare" Copyright (c) 2000-2026 the FFmpeg developersThe core problem is very simple to state, but hard to do well: one tool to handle almost all audio-video formats — encode, decode, mux, demux, filter, and streaming — without having to combine dozens of programs.
| Scenario | How FFmpeg Helps |
|---|---|
| Format conversion | ffmpeg -i input.mkv output.mp4 — one line |
| Transcode | Change codec, resolution, and bitrate at once |
| Extraction | Pull audio from video, or frames into images |
| Filtering | Resize, crop, watermark, and join videos |
| Streaming | Publish to an RTMP server or prepare HLS |
Before FFmpeg matured, such workflows meant combining many different tools: one for conversion, one for merging, one for extracting audio, one for streaming. FFmpeg replaced that combination with one consistent family of commands — this is the main reason it has survived to this day.
Think of FFmpeg as a multipurpose industrial kitchen knife: one tool, dozens of functions, and when wired into a script, it can do repetitive work tirelessly, day and night, on a server with no monitor.
Imagine a production team that receives 100 raw videos a day and must produce a 1080p version for archive and a 480p version for streaming. Without FFmpeg, this work would be impossible to do manually. With FFmpeg, two lines of commands wired into a script suffice:
ffmpeg -i input.mp4 -c:v libx264 -crf 23 output-1080p.mp4
ffmpeg -i input.mp4 -c:v libx264 -crf 30 -vf scale=854:480 output-480p.mp4One input, two assets, zero manual intervention. This is a real example of why the world needs FFmpeg: it turns repetitive manual work into one line of command that can run automatically, consistently, and at scale.
The modern era is full of GUI editors and paid cloud transcoding services. Amid all that, FFmpeg remains relevant for one main reason: it is a language that can be automated. GUI editors need a human in the chair; cloud services need subscription fees and internet. FFmpeg stands between the two — powerful enough for production, simple enough to call from shell, cron, or CI/CD.
| Need | Suitable Tool |
|---|---|
| Interactive editing | DaVinci Resolve, Premiere |
| In-application transcoding | FFmpeg CLI, libavcodec library |
| Real-time streaming | FFmpeg, GStreamer |
| Metadata analysis | ffprobe |
It's not about who is "better" — every tool has its place. FFmpeg excels when the work must be repetitive, run without a GUI, and touch many formats at once from a single control point.
In episode 1, you've traced FFmpeg's journey from a real need in 2000 at the hands of Fabrice Bellard, understood its evolution into the foundation of HandBrake, VLC, OBS, Chrome, and yt-dlp, become familiar with the major releases from 7.x Péter to 9.0 Lei, and the real problems it solves.
Key takeaways:
In the next episode 2, we'll dissect FFmpeg's core concepts and main architecture — the roles of ffmpeg, ffprobe, and ffplay, core libraries such as libavcodec, libavformat, and libavfilter, the demux-decode-filter-encode-mux pipeline, and the concept of video, audio, and subtitle streams along with their mapping. See you in episode 2!