dragonflight/services/playout
Zac Gaetano 59551f28a5 fix(playout): re-encode HLS preview to uniform 2s segments so hls.js syncs
The audio-strip fix made the stream decode cleanly server-side, but the
browser monitor was still black: with -c:v copy the re-mux passed through
CasparCG's erratic real-time keyframes (segments 0.6-2.8s) and irregular
PTS. hls.js can't build a live timeline from that — it logs
"sliding 0.00 / prev-sn na / MISSED" and never loads a fragment (verified
live in-browser: readyState stays 0). A standalone ffmpeg honours
-force_key_frames, so re-encode to libx264 with a forced 2s GOP + CFR
fps=30, scaled to 720p for a light confidence monitor. Every HLS segment
is now a clean, keyframe-aligned 2.0s chunk hls.js can sync to.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-05-31 15:22:21 -04:00
..
src fix(playout): re-encode HLS preview to uniform 2s segments so hls.js syncs 2026-05-31 15:22:21 -04:00
casparcg.config fix(playout): strip comments from casparcg.config (parser aborts on them) 2026-05-31 14:32:08 -04:00
Dockerfile fix(playout): use static ffmpeg, not apt, to avoid CasparCG SIGABRT 2026-05-31 14:18:56 -04:00
entrypoint.sh fix(playout): clean video-only HLS preview via standalone ffmpeg re-mux 2026-05-31 13:55:18 -04:00
package.json feat(playout): CasparCG sidecar image + Node AMCP shim 2026-05-30 14:02:25 +00:00