The Streaming Blog
Expert articles on HLS, DASH, ABR, SSAI, codecs, low-latency streaming and the tools of the trade.
Video Basics
Understand lossy vs lossless compression, spatial and temporal redundancy, I/P/B frames, GOP structure, chroma subsampling, and CBR/VBR/CRF rate control.
Compare H.264, HEVC, VP9, and AV1 plus AAC and Opus audio — compression efficiency, licensing, device support, codec strings, and when to use each.
Transcoding vs transmuxing vs transrating, the encoding pipeline, ffmpeg examples, packaging to HLS/DASH, and hardware vs software encoding compared.
Architecture
Walk the full VOD pipeline — ingest, transcode, CMAF/HLS/DASH packaging, origin, CDN, and player — plus storage, per-title encoding, and JIT vs static packaging.
How live streaming works end to end — RTMP/SRT contribution, transcode, packaging, delivery — plus latency tiers, DVR, and redundancy for resilient streams.
HLS
A line-by-line tour of HLS .m3u8 manifests — master vs media playlists, EXT-X-MAP, byte ranges, fMP4/CMAF vs TS segments, and encryption.
A working reference to the essential HLS playlist tags — STREAM-INF, MEDIA, EXTINF, KEY, MAP, DATERANGE and more — each with a real m3u8 snippet.
How players actually pick a rendition — throughput-based vs buffer-based (BOLA) vs hybrid ABR, segment switching, and how hls.js and dash.js decide.
How to design an encoding ladder — resolution/bitrate rungs, the Apple reference ladder, convex-hull and per-title encoding, and device considerations.
Objective video quality metrics for tuning your encoding ladder — how PSNR, SSIM/MS-SSIM, and VMAF work, ffmpeg/libvmaf usage, and BD-rate basics.
Protocols & Protection
How CMAF chunked encoding, LL-HLS partial segments, preload hints, and LL-DASH cut live latency from 30s to under 3s — plus the real tradeoffs.
How multi-DRM works: CENC cenc vs cbcs encryption, Widevine/PlayReady/FairPlay, EME and the CDM, the license flow, and AES-128 vs SAMPLE-AES.
Delivery & Ads
Origin-to-edge delivery, cache keys and hit ratio, segment cacheability, multi-CDN switching, prefetch, why small segments matter, and CMCD correlation.
Client-side vs server-side ad insertion architectures, manifest stitching, ad-blocker resistance, tracking and beaconing, QoE tradeoffs, and when to use each.
How SCTE-35 splice_insert, time_signal, and segmentation descriptors surface in HLS DATERANGE/CUE-OUT and DASH, plus VAST/VMAP ad tags, wrappers, and tracking.
Playback & QoE
How browser video players work: MSE and EME, the buffering model, ABR hooks, how hls.js/dash.js/Shaka compare, native vs MSE on Safari, and common pitfalls.
A field guide to the video QoE metrics that predict engagement — startup time, rebuffering ratio, exits-before-start, playback failures — and how to instrument them.
Put the theory into practice
Every article pairs with a hands-on tool — play streams, parse manifests, decode ad markers, and measure QoE right in your browser.
Explore all tools