mirror of
https://github.com/Vateron-Media/XC_VM.git
synced 2026-10-04 12:02:33 +02:00
Serve /stream.ts from one always-running encoder fanned out to every client (TsBroadcaster) instead of spawning a fresh ffmpeg per connection: the process count stays fixed at two (one HLS, one TS) no matter how many clients or repeated on-demand pulls connect, and a joiner attaches to the live byte stream with a keyframe-aligned prebuffer, so opening the channel is instant. Emit TS keyframes every 0.4s so a consumer that joins mid-GOP (e.g. the panel's LLOD probe with analyzeduration=0.5s) finds an IDR + SPS/PPS within its analysis window — otherwise it reports "dimensions not set" and never starts. Add run-background.sh (start/stop/status/restart, PID + log, auto-picks the bundled XC_VM ffmpeg build that actually runs) and an M3u/ sample playlist; refresh README to match.