Claude: Latenz

This commit is contained in:
chk
2026-06-04 06:13:20 +02:00
parent fc2efcbdff
commit f989e4f873

View File

@@ -25,19 +25,20 @@ configs:
# Komplette go2rtc-Config eingebettet keine separate Datei nötig.
content: |
streams:
# NUR #video=h264 (kein #video=mjpeg) → halbiert CPU-Last pro Kamera.
# go2rtc erzeugt intern: -preset superfast -tune zerolatency (gut).
# Standard-GOP: -g 50 = 1.67s @30fps. Für kürzeres GOP → exec: Source nötig (TODO).
# Option C — ffmpeg: mit expliziten Input-Flags, OHNE -re und OHNE -readrate_initial_burst.
# go2rtc ist on-demand: startet FFmpeg erst wenn ein Client verbindet (bestätigt: 0% CPU ohne Client).
# -input_format mjpeg → Kamera-natives MJPEG, kein Pixel-Decode nötig
# -fflags nobuffer → kein Input-Puffer
# -flags low_delay → minimaler Decoder-Delay
# -probesize 32 → keine lange Format-Analyse beim Start
# -analyzeduration 0 → sofortiger Start
# go2rtc übernimmt H.264-Encoding (-g 50 bleibt, aber ohne -re-Stau).
cam0: "ffmpeg:-f v4l2 -input_format mjpeg -video_size 640x480 -framerate 30 -fflags nobuffer -flags low_delay -probesize 32 -analyzeduration 0 -i /dev/video0#video=h264"
cam1: "ffmpeg:-f v4l2 -input_format mjpeg -video_size 640x480 -framerate 30 -fflags nobuffer -flags low_delay -probesize 32 -analyzeduration 0 -i /dev/video2#video=h264"
#
# Variante A Software-Encoding (immer kompatibel):
cam0: "ffmpeg:/dev/video0#video=h264"
cam1: "ffmpeg:/dev/video2#video=h264"
#
# Variante B Hardware-Encoding (Intel QuickSync / VAAPI, falls vorhanden):
# Drastisch weniger CPU-Last. Aktivieren wenn "Variante A" CPU-Bottleneck zeigt.
# Braucht: /dev/dri/renderD128 im Container (devices: unten ergänzen)
# cam0: "ffmpeg:/dev/video0#video=h264#hardware"
# cam1: "ffmpeg:/dev/video2#video=h264#hardware"
# Option B Hardware-Encoding (nächster Schritt falls CPU noch zu hoch):
# cam0: "ffmpeg:-f v4l2 -input_format mjpeg -video_size 640x480 -framerate 30 -fflags nobuffer -flags low_delay -i /dev/video0#video=h264#hardware"
# cam1: "ffmpeg:-f v4l2 -input_format mjpeg -video_size 640x480 -framerate 30 -fflags nobuffer -flags low_delay -i /dev/video2#video=h264#hardware"
webrtc:
listen: ":8555"
candidates:
@@ -53,6 +54,10 @@ configs:
origin: "*"
log:
level: info
# TODO (on-demand Encoding): go2rtc hält den Encoder auch ohne Clients am Laufen.
# Das verbraucht unnötig ~35% CPU wenn niemand zuschaut.
# Lösung: v4l2:/dev/video0 ohne #video=h264 → go2rtc öffnet Kamera nur bei Bedarf?
# Oder: mediamtx als Zwischenstufe (hat explizites on-demand). Prüfen.
services: