- Shipped
- August 19, 2026 at 2:35 AM UTC
- Author
- Kamo
- Commit
- a00e3d0
Three defects found by exercising the deployed service. 1. The /live/ route 404'd through Traefik. MediaMTX answers the first HLS request with a 302 to `?cookieCheck=1` at an absolute path it builds itself, so under StripPrefix that Location pointed outside the route and the player followed it into a 404. Channels are now NAMED `live/<channel>` — MediaMTX accepts nested path names — so the path it thinks it is serving equals the path the browser asked for and no StripPrefix is needed. The WHEP route keeps its exact-regex match, now with an explicit priority instead of relying on Traefik's rule-length tiebreak. 2. The rollout could never complete. The pod binds hostPort 8189 for WebRTC ICE, which is an exclusive node resource, so under maxSurge 1 / maxUnavailable 0 the surge pod sat Pending waiting for a port the old pod would not release until the surge pod went Ready. Observed live as a Pending pod beside a healthy one — the same shape as qdrant's WAL lock. Switched to Recreate. 3. The live muxer warned "segment duration changed from 2s to 3s - this will cause an error in iOS clients": the source MP4's keyframes are irregular, so segments could not be uniform. The encode job now also remuxes the 720p rung back to MP4 as loop.mp4 (no re-encode — that rung already has forced 2s keyframes) and the init container prefers it, falling back to the original so a pod still starts before the job has ever run.