finds.dev← search

// the find

leandromoreira/digital_video_introduction

★ 16,223 · Jupyter Notebook · BSD-3-Clause · updated Sep 2023

A hands-on introduction to video technology: image, video, codec (av1, vp9, h265) and more (ffmpeg encoding). Translations: 🇺🇸 🇨🇳 🇯🇵 🇮🇹 🇰🇷 🇷🇺 🇧🇷 🇪🇸

A thorough written guide to digital video fundamentals — pixels, color models, chroma subsampling, frame types, DCT, quantization, entropy coding, and streaming — aimed at software engineers with no prior video background. Comes with Jupyter notebooks for hands-on experiments and Docker-based ffmpeg examples. Think of it as the missing textbook chapter before you touch a real video pipeline.

- Unusually good visual explanations: the diagrams for YCbCr subsampling, motion vectors, DCT coefficients, and H.264 bitstream structure are genuinely clearer than most paid textbooks

- Hands-on exercises actually work — Docker containerizes ffmpeg/mediainfo so the commands run identically regardless of host OS, which removes a major friction point for learners

- Covers the full stack from raw pixel math through codec internals (H.264, HEVC, AV1, VP9) to HLS/DASH adaptive streaming and DRM in a single coherent narrative

- Available in 8 languages with community-maintained translations, which is rare for this kind of technical material

- Last meaningful update was 2023 and the AV1 section feels thin compared to the H.264 coverage — AV1 is no longer new and deserves the same depth

- The Intel Video Pro Analyzer is repeatedly recommended as a visualization tool but it's commercial software; the free trial caps at 10 frames, making several hands-on sections essentially dead ends for most readers

- No coverage of modern encoding toolchains like SVT-AV1, rav1e, or cloud encoding workflows — the ffmpeg examples are fine for learning but leave a gap before production use

- Jupyter notebooks have no dependency pinning (no requirements.txt or lock file), so notebook exercises break silently as numpy/matplotlib APIs drift

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →