Bitrate (kbps) Real-time Chart — Last 60 sec
Per-fragment HLS bitrate plotted at 1-second intervals.
Captured via Shaka Player's NetworkingEngine response filter (SEGMENT loaded bytes)
combined with the streamBandwidth stat.
Same Kameo IP camera live stream played in parallel: Original is the camera's raw H.264; NormH264 / NormAV1 re-encode the same camera frames in real time via SlimeCodec NormMAP-driven libx264 / SVT-AV1. All tiles are time-aligned by EXT-X-PROGRAM-DATE-TIME, so you can compare the same frame at the same wall-clock time side by side. Each tile's stats bar shows real-time bitrate (kbps), average kbps, cumulative MB, and the savings % versus Original. Click a tile to enlarge, click again to return to the grid.
Stream configurations
| Name | codec | container | parameters | notes |
|---|---|---|---|---|
| Original | H.264 Main | TS HLS (live) | (camera output, untouched) | Camera RTMP/HLS 1080p relayed as-is |
| NormH264 | H.264 (libx264) | TS HLS (live) | preset veryfast / CRF 26 / NormMAP integration WIP | SlimeCodec NormMAP-driven libx264 re-encode, real-time |
| NormAV1 | SVT-AV1 | fMP4 HLS (live) | preset 8 / CRF 60 (sweet spot) / qp-range 30 / agg=p75 / seg=5 | SlimeCodec NormMAP-driven ROI bit allocation, real-time re-encode, 9.2 MB → 1.6 MB / chunk (-90%), 1.33x realtime (Ryzen 12c) |
normav1-runner.js polls C:\Kameo-24\Kameo.m3u8 every 2 sec.
For each new .ts it runs slimecodec-svtav1-norm.exe v0.3.5-fix → encodes to fMP4 segment →
patches tfdt with cumulative time → rolls into C:\Kameo-24-norm-av1\Kameo.m3u8.
EXT-X-PROGRAM-DATE-TIME is preserved from the source so Shaka Player aligns tiles on the same wall clock.
Technical notes
- All tiles embed
/play/?src=...in an iframe, using the same Shaka Player + React UI as the production demo (center play/pause, top LIVE / clock / time-shift indicator, auto-hide controls) - NormAV1 encode latency ≈ 13 sec after source segment completes; combined with the standard HLS buffer (3 segments ≈ 70 s), camera-to-screen latency is ~80 sec measured. Within the same buffer range, all tiles show the same frame.
- Bandwidth is computed from the parent page by attaching a response filter to
iframe.contentWindow.player.getNetworkingEngine(): SEGMENT loaded bytes / segment EXTINF → per-segment kbps, plus cumulative MB and savings % vs Original. - CORS: streams must be served from the same origin as the page, or upstream needs a CORS header.
- NormAV1 depends on browser AV1 decode support (recent Chrome / Edge / Firefox: OK, Safari 17+: OK; HW decode not required).
