Video & streaming
Codecs and containers, bitrate, HDR, adaptive streaming, editing and transcoding.
Adaptive streaming: how HLS and MPEG-DASH work
Segments, playlists and manifests: how HLS and DASH adapt video quality to the connection, what the player does, and which mistakes cause buffering.
Audio in video files: codecs, tracks and sync problems
Which audio codec to use in a video, how to handle several tracks and languages, why sound and picture drift apart and how to fix the offsets.
Video bitrate: CBR, VBR and CRF explained with examples
What bitrate measures, how quality and file size change with CBR, VBR and CRF, and which rate control mode to use for archiving, the web and live streams.
Video frame rate: 24, 25, 30, 50 or 60 fps, how to choose
Where the common frame rates come from, the difference between 25 and 29.97 fps, how the shutter shapes motion, and the pitfalls of frame rate conversion.
Chroma subsampling: 4:4:4, 4:2:2 and 4:2:0 explained
Why video separates luminance from colour, what 4:2:0 and 4:2:2 mean, and when chroma subsampling causes trouble with text, graphics and chroma key.
Video codecs vs containers: the difference explained
MP4, MKV, H.264, AV1: why the file format does not tell you how the video is compressed, what a container holds and how to avoid files that won't play.
H.264, HEVC, VP9 and AV1: a practical video codec comparison
Efficiency, compatibility, licensing and encoding cost of the main video codecs: when H.264 makes sense, when HEVC, when VP9 or AV1, and the reasons why.
Editing codecs: ProRes, DNxHR and proxy workflows
Why camera files slow down editing, how intermediate codecs such as ProRes and DNxHR work, and how to set up an efficient workflow built around proxies.
Video on your own website: video tag, formats, poster, preload
How to put a video on a web page without weighing it down: the video element, multiple sources, poster, preload, muted autoplay and when to stream.
FFmpeg for transcoding: the essential commands explained
How an FFmpeg command is structured, choosing codec and quality, scaling, trimming, extracting audio and mapping tracks, with ready-to-use examples.
Hardware or software video encoding: NVENC, Quick Sync, x264
Differences in speed, quality and power use between software encoders and the hardware encoders in GPUs and processors, and when to choose each one.
HDR video: HDR10, HDR10+, Dolby Vision and HLG compared
What really changes with HDR video, how the PQ and HLG curves work, static and dynamic metadata, and why an HDR file can look washed out on an SDR display.
DRM in video streaming: encryption, licences and Widevine
How content protection works in streaming: CENC common encryption, licence servers, Widevine, FairPlay and PlayReady, EME in browsers and its limits.
I, P and B frames and GOP structure in video compression
How keyframes, predicted and bidirectional frames work, what a GOP is and why its length affects file size, seeking within a file and adaptive streaming.
Inspecting a video file with MediaInfo and ffprobe
How to read codec, profile, level, bitrate, frame rate, colour and tracks of a video file with MediaInfo and ffprobe to diagnose playback problems quickly.
Interlaced vs progressive video: deinterlacing properly
What the «i» and «p» in 1080i and 1080p mean, why interlaced video shows comb lines and how to deinterlace TV recordings and old tapes properly.
Live streaming latency: RTMP, SRT, WebRTC and LL-HLS
Where live stream delay comes from, how much the encoder, protocol, segments and player buffer contribute, and which technologies reduce latency.
Archiving video for the long term: formats, copies and checks
How to keep home videos, footage and projects safe for years: open formats such as FFV1 and MKV, masters, access copies, naming and integrity checks.
Measuring video quality: PSNR, SSIM and VMAF compared
How objective video quality metrics work, what PSNR, SSIM and VMAF measure, how to calculate them with FFmpeg and where they fall short of the human eye.
Setting up OBS Studio for clean live streams and recordings
Scenes, sources, encoders, bitrate and audio in OBS Studio: reasoned settings for stable live streams and quality recordings, plus the checks to run first.
Bitrate ladders: designing quality levels for streaming
How to choose the resolution and bitrate of each adaptive streaming level, why a fixed ladder wastes bandwidth, and what per-title encoding actually means.
Subtitle formats: SRT, WebVTT, ASS and burned-in subtitles
The technical structure of SRT, WebVTT and ASS, separate versus burned-in subtitles, character encoding, and how to sync or convert subtitles with FFmpeg.
Video aspect ratios: 16:9, 9:16, 1:1 and exporting without bars
Aspect ratio, non-square pixels, black bars and cropping: how to prepare and export the same video in landscape, vertical and square formats.
Colour spaces in video: BT.601, BT.709, BT.2020 and range
Primaries, transfer curve, matrix and limited or full range: why an exported video looks washed out or too contrasty, and how to avoid it in practice.
CDNs for video: how streaming segments are delivered
Why video needs a CDN, how segment caching, origin shields and cache lifetimes for manifests and segments work, and how to cut costs and reduce buffering.