March 20, 2026
Codec drama in aisle 101
FFmpeg 101 (2024)
FFmpeg 101 drops — comments say: nice intro, now give us the real deal
TLDR: A friendly FFmpeg 101 explains how media files are split and decoded, with sample code and a starter repo. The top comment immediately points everyone to Leandro Moreira’s deeper guide, sparking a soft split between quick-start fans and under‑the‑hood purists—important because FFmpeg powers so much of modern video and audio.
FFmpeg 101 just landed with a friendly tour of the video Swiss‑Army knife that powers half the internet. It explains, in plain speak, how this toolkit splits a media file into audio and video, then turns those into raw data you can actually play—plus a simple code example and a starter repo. Think: “open file, list what’s inside, find the right decoder,” not rocket science, just the basics.
But in the comments, one voice stole the spotlight fast. User do_anh_tu hit the big red button and sent everyone to the deep end with Leandro Moreira’s famous explainer, calling it the best way to really understand what’s happening under the hood. Link dropped, mic dropped: leandromoreira/ffmpeg-libav-tutorial. The vibe? A friendly tug‑of‑war between “give me a gentle 101” and “show me the real magic.”
Cue the memes: FFmpeg as command‑line wizardry, incantations included. Also getting laughs: the sample code’s cliffhanger line that cuts off mid‑print—“Codec: %” has never felt so suspenseful. Beginners cheered the clear walk‑through; veterans nodded, then said, “okay, now peel back the layers.” The consensus twist: start here for orientation, then dive into Moreira’s guide for the gritty details. Drama level: cozy, with extra spice.
Key Points
- •FFmpeg comprises command-line tools (ffmpeg, ffplay, ffprobe) and libraries enabling encoding, decoding, transcoding, and streaming.
- •Core libraries include libavformat, libavcodec, libavfilter, libavdevice, libavutil, libswresample, libswscale, and libpostproc, each serving specific media processing roles.
- •A basic workflow demuxes a multimedia container into audio/video streams and decodes them into raw data using AVFormatContext, AVStream, AVCodec, AVPacket, and AVFrame.
- •Sample code demonstrates opening a media file, analyzing stream info, iterating streams, and printing properties such as time base, frame rate, and codec tag.
- •Decoders are selected with avcodec_find_decoder based on codec_id, and all codecs are statically included in libavcodec; custom codecs can be added via FFCodec registration.