Learn FFmpeg from the basics to production-grade: pre-requisites & environment setup, the history of Fabrice Bellard/2000 up to the 9.0 Lei release, core concepts & architecture of libavcodec libavformat libavfilter, basic commands & transcoding, video encoding & codecs, basic filters, audio processing, ffprobe & ffplay, muxing demuxing & containers, batch processing & scripting, thumbnails images & GIF, subtitles metadata & chapters, concat & segmenting, streaming & network protocols, HLS & adaptive streaming, hardware acceleration, HDR & color handling, complex filtergraphs, AV1 & modern codecs, performance & optimization, API & programmatic usage, modern features & roadmap, up to alternative ecosystems & final reflections with a total of 23 episodes.
Setting up the skills and environment before you start processing video: comfort in the bash/zsh terminal, basic shell scripting, and an understanding of the concepts of codec, container, bitrate, fps, resolution, and audio channels. It ends with installing the stable FFmpeg, an introduction to the ffmpeg, ffprobe, and ffplay components, and creating practice video and audio for the whole series.

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.

Breaking down FFmpeg's anatomy: the roles of the three components ffmpeg, ffprobe, and ffplay, as well as core libraries such as libavcodec, libavformat, and libavfilter. Understanding the demux-decode-filter-encode-mux pipeline and the concept of video, audio, and subtitle streams along with their mapping, so you can read FFmpeg commands with full awareness.

Start typing real FFmpeg commands: the basic ffmpeg -i input output syntax, converting MP4 to MKV and WebM formats, the difference between stream copy and a full re-encode, and the habit of reading file metadata and duration via ffprobe before deciding on a command.

Choosing a codec with full awareness: H.264, H.265/HEVC, VP9, and AV1, mastering the -c:v, -crf, -preset, and -b:v options, understanding the two-pass strategy, and setting resolution, fps, and GOP to balance quality with file size.

Master the basic video filters: scale, crop, rotate, fps, trim, and setpts, understand filter syntax with parameters and options, and build filter chains using -vf to process video precisely in a single command.

In this episode you'll master FFmpeg's audio side: choosing the right codec, bitrate, sample rate, and channels, applying sound filters such as volume, loudnorm, and equalizer, and mapping audio and video streams precisely.

In this episode you'll learn to inspect media stream and format details with ffprobe, read results as JSON for scripting, and play and preview filters in real-time with ffplay.

In this episode you'll understand the role of the MP4, MKV, and WebM containers, learn to remux without re-encoding using -c copy, and select, add, and remove streams precisely with -map.

In this episode you'll process hundreds of files at once with shell loops, run parallel conversions with find and xargs, and write safe, repeatable batch scripts.
