StreamTrace
See how every frame and every block of a compressed video was coded, what it cost in bits, and how close it stays to the original — for H.264, HEVC, VVC, AV1, VP9 and MPEG-2.
What it is for
StreamTrace shows how each frame of a compressed stream was coded, what it cost in bits, and why. It handles streams in containers (MP4, MKV, WebM, TS, MPEG program streams) and raw bitstreams.
Encoder tuning and comparison
See how encoders and settings spend bits across I/P/B frames, where QP rises and falls, and how the GOP and reference structure is built.
Block-level inspection
Overlay partitioning (macroblocks, coding units, AV1/VP9 blocks), prediction types, per-block QP and motion vectors on the decoded picture.
Rate-control analysis
The per-frame size chart with a running-average bitrate line shows spikes, starved frames and keyframe cost at a glance.
Quality against the original
Open the uncompressed source and get PSNR, SSIM and VMAF per frame, plus quality maps that show where in the picture quality drops.
Bitstream debugging
Browse parsed headers (VPS/SPS/PPS, slice and picture headers, SEI) next to a hex view of each frame's bytes.
Teaching and research
Show how modern codecs split pictures and predict motion, and compare codec generations side by side.
Features
Analysis data comes straight from the decoders, extended to export block-level information for every supported codec.
Stream view
- Bar chart of frame size or average QP, colored by frame type, in display or decode order
- GOP boundaries and running-average bitrate line (250 ms – 5 s window)
- Thumbnail strip of the decoded pictures
Block analysis
- Block grid and coding-tree partitioning, up to 128×128
- Block types: intra, inter L0/L1, bi-prediction, skip, merge, direct, IBC, palette
- QP map and motion vectors per prediction block; bits per block for AV1 and VP9
Quality metrics
- Reference as .y4m or raw 4:2:0 .yuv (8 to 16 bits), with frame alignment
- PSNR (Y/Cb/Cr) and SSIM per block and frame
- Frame VMAF (Netflix libvmaf, matches the reference tool) and a local VMAF map per tile
Syntax and data
- Sequence, picture and slice headers; SEI messages
- Hex view of each frame's bytes; pixel values of the selected block
- Correct display order for raw H.264/HEVC/VVC and MPEG-2 program streams
Screenshots
An H.264 clip analyzed against its uncompressed original.
Supported formats
Block-level data is available for every codec listed below.
| Video codecs | H.264/AVC, H.265/HEVC, H.266/VVC, AV1, VP9, MPEG-2 (MPEG-1, MPEG-4 Part 2 and H.263 with macroblock data) |
|---|---|
| Containers | MP4/MOV, Matroska/WebM, MPEG-TS, MPEG program streams (.mpg, .vob), IVF |
| Raw bitstreams | .264/.h264, .265/.hevc, .266/.vvc, .obu, .m2v |
| Reference video | .y4m (4:2:0, 8–12-bit) and raw planar 4:2:0 .yuv (8–16-bit) |
| Quality metrics | PSNR, SSIM, VMAF (model v0.6.1; 4K model for 3840-pixel-wide video) |
Download
COMING SOON
The Windows installer (version 0.2) will be available here shortly. In the meantime, contact us for early access or questions.
| System | Windows 10 or 11, 64-bit |
|---|---|
| Disk space | About 70 MB |
| Installation | For all users, or for the current user without administrator rights. Includes an uninstaller. |
Contact
Questions, feedback or early access: write to benny.abramov@gmail.com.
Credits
StreamTrace uses Qt (LGPLv3) and FFmpeg (LGPLv2.1 or later) as replaceable shared libraries. FFmpeg is a trademark of Fabrice Bellard, originator of the FFmpeg project.
AV1 decoding uses dav1d (BSD 2-Clause) and libaom (BSD 2-Clause, AOM Patent License); VMAF uses libvmaf by Netflix (BSD+Patent).
StreamTrace adds block-level export to FFmpeg and libaom and a per-tile feature map to libvmaf. These modifications and the full license texts are included with the installer.
StreamTrace