Add video stall detection that monitors currentTime and auto-reconnects
after 15s of frozen video. Add MSE SourceBuffer trimming to prevent
QuotaExceededError from killing streams silently. Handle appendBuffer
errors with safe wrapper and SourceBuffer error listener. Wait for ICE
gathering before sending WebRTC offers. Add go2rtc stream availability
endpoint. Improve backend proxy error logging.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The websockets library defaults to ping_interval=20, ping_timeout=20.
go2rtc doesn't respond to these pings, so the upstream WebSocket was
being killed after ~50 seconds causing all camera streams to freeze.
Disabled ping_interval and ping_timeout on the upstream connection.