調校 MediaMTX 抗閃爍:加大寫入佇列、強制 RTSP 走 TCP

實況偶發「閃一下」,查 journalctl 為應用層問題(非網路):
- reader is too slow → 加 writeQueueSize: 1024(預設 512)吸收瞬時卡頓
- UDP decode errors → rtspTransports: [tcp] 杜絕 UDP 掉包花屏
.103 線上設定已同步並重啟驗證;另補上 init 產生的 CLAUDE.md

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-22 20:54:28 +08:00
parent 50ccd12837
commit ce4f9f19bd
3 changed files with 41 additions and 0 deletions

View File

@@ -75,6 +75,15 @@ MediaMTX v1.19.1 已實際架在 `192.168.42.103`Ubuntu 24.04systemd 服
⚠️ 此 MediaMTX 為全開放HTTP API 9997 與認證皆關閉),任何能連到 .103 的人都能觀看/推流。對外或不信任網段請開啟認證。
### 抗閃爍調校2026-06-22
實況曾偶發「閃一下」,查 `journalctl -u mediamtx` 為應用層而非網路問題,已在 [`mediamtx.yml`](./mediamtx.yml) 加兩個全域設定(.103 已同步並重啟驗證):
- `writeQueueSize: 1024`(預設 512— 觀看端瞬時吃不下 1080p H.265 時原本佇列塞爆會直接丟幀log: `reader is too slow, discarding N frames``i/o timeout` 斷線);加大佇列吸收瞬時卡頓。
- `rtspTransports: [tcp]` — 強制 RTSP 只走 TCP杜絕 UDP 掉包造成的 H.265 花屏log: UDP session `decode errors` 後秒斷)。只影響 RTSPHLS/WebRTC 不受影響。
弱端(手機/wifi建議直接看子碼流 `cam-sub`(H.264 704×576),碼率低不會塞。
## 選哪個
- 只是想多人/多端看 → **MediaMTX**,三行設定搞定,支援 RTSP/HLS/WebRTC 全包。