fix: switch HLS back to lowLatency — mpegts can't mux VP8/VP9 from browser publish
mpegts (moved to earlier for OBS B-frame stability) only supports H264. Browser (WHIP) publishing sends VP8 or VP9 depending on the machine's available encoders, which mpegts can't mux at all — confirmed live, 'the MPEG-TS variant of HLS supports H264 video only' crash loop. lowLatency supports the broader codec set browser publishing actually needs. Real risk, not resolved by this alone: lowLatency is what caused the original OBS B-frame muxer crashes this session already fixed once by moving to mpegts. If that recurs, the correct fix is two MediaMTX instances (one per hlsVariant) since it's a global, not per-path, setting — not flip-flopping between the two.
This commit is contained in:
+16
-7
@@ -25,13 +25,22 @@ rtmpAddress: :1935
|
|||||||
|
|
||||||
hls: yes
|
hls: yes
|
||||||
hlsAddress: :8888
|
hlsAddress: :8888
|
||||||
# Standard HLS, not lowLatency: LL-HLS's small per-part buffering window has very little
|
# Switched from mpegts back to lowLatency (2026-08-11): mpegts can only mux
|
||||||
# tolerance for B-frame reordering (common in most OBS encoder presets), and a real test
|
# H264, and browser (WHIP) publishing sends VP8/VP9 depending on the
|
||||||
# stream crashed the muxer twice in ~2 minutes with "too many reordered frames" / "unable to
|
# machine's available encoders — confirmed live, mpegts crashed with "the
|
||||||
# extract DTS" once frame timing got even slightly irregular. Standard HLS buffers a full
|
# MPEG-TS variant of HLS supports H264 video only" for a VP9 browser stream.
|
||||||
# segment before finalizing, which absorbs that jitter — a few extra seconds of latency
|
# lowLatency supports AV1/VP9/H265/H264/Opus, so it's required for browser
|
||||||
# instead of intermittent muxer crashes / viewer buffering.
|
# publishing to produce any HLS output at all.
|
||||||
hlsVariant: mpegts
|
#
|
||||||
|
# Known risk: this is the variant that was moved AWAY from earlier — LL-HLS's
|
||||||
|
# small per-part buffering window has very little tolerance for B-frame
|
||||||
|
# reordering (common in most OBS encoder presets), and a real OBS test
|
||||||
|
# stream crashed the muxer twice in ~2 minutes with "too many reordered
|
||||||
|
# frames" / "unable to extract DTS" once frame timing got even slightly
|
||||||
|
# irregular. If that recurs, the real fix is running two MediaMTX instances
|
||||||
|
# (mpegts for RTMP/OBS, lowLatency for WHIP/browser) since hlsVariant is a
|
||||||
|
# global setting with no per-path override — not flipping back and forth.
|
||||||
|
hlsVariant: lowLatency
|
||||||
hlsAlwaysRemux: yes
|
hlsAlwaysRemux: yes
|
||||||
hlsAllowOrigins: ["*"]
|
hlsAllowOrigins: ["*"]
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user