Bound live-stream latency drift with periodic live-edge resync
Over hours the wall drifted ~15s behind real-time: the Pi decodes a hair slower than real-time, and since RTSP-over-TCP delivers every byte, that small deficit buffers up instead of being dropped — and a live stream can't be seeked back to the live edge. Add player.resync_seconds (0 = off): the daemon reconnects each stream to the live edge on that interval via mpv loadfile-replace over IPC, cycling one tile at a time so only a single tile ever blips. Reusing the running mpv process means no window teardown. At 600s this caps drift to a couple seconds. config.example.yaml ships it at 600; README documents the knob and the "also lighten decode load" caveat. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -22,6 +22,9 @@ player:
|
||||
max_fps: 0 # cap rendered fps (0 = uncapped); trims render load
|
||||
audio: false # streams are muted by default (saves CPU too);
|
||||
# set true to decode and play camera audio
|
||||
resync_seconds: 600 # reconnect each stream to the live edge on this
|
||||
# interval (staggered) so latency can't slowly
|
||||
# drift; 0 = off. 600 keeps drift to a few sec.
|
||||
restart_backoff_seconds: 3
|
||||
extra_args: []
|
||||
|
||||
|
||||
Reference in New Issue
Block a user