Tags: haydenmc/EzStream
Tags
Add H264 and AV1 thumbnail generation for stream index page
Extracts keyframes from live RTP video streams and converts them to JPEG
thumbnails via FFmpeg, displayed on the stream index page instead of
placeholder text.
H264: depacketizes Single NAL / STAP-A / FU-A, assembles SPS+PPS+IDR in
Annex B, passes to FFmpeg as raw h264.
AV1: uses AV1Packet + frame.AV1 for element-level reassembly, sanitises
each OBU before buffering (clears obu_reserved_1bit which OBS sets to 1
and libdav1d hard-fails on; ensures obu_has_size_field=1). Wraps the
accumulated OBU data in an IVF container for reliable FFmpeg decoding.
Caches the Sequence Header so PLI-triggered keyframes that omit it can
still be decoded.
Thumbnails are served at /thumbnail/{channelId} and refreshed every 10s.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>