Claude: miese Auflösung
This commit is contained in:
@@ -25,20 +25,13 @@ configs:
|
||||
# Komplette go2rtc-Config eingebettet – keine separate Datei nötig.
|
||||
content: |
|
||||
streams:
|
||||
# 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"
|
||||
#
|
||||
# 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"
|
||||
# MJPEG-Passthrough: Kamera liefert MJPEG nativ → go2rtc reicht es 1:1 durch.
|
||||
# Kein Encoding, kein libx264, kein VAAPI → CPU <5%, keine Freezes.
|
||||
# Latenz ~200ms (vs. 130ms bei H.264) — für Roboter-Überwachung ausreichend.
|
||||
# Hinweis: go2rtc's #hardware funktioniert NICHT mit MJPEG-Kamera-Input
|
||||
# (hwupload benötigt VAAPI-Decoder auf Input-Seite, MJPEG läuft Software).
|
||||
cam0: "ffmpeg:device?video=/dev/video0&input_format=mjpeg&video_size=640x480&framerate=30#video=mjpeg"
|
||||
cam1: "ffmpeg:device?video=/dev/video2&input_format=mjpeg&video_size=640x480&framerate=30#video=mjpeg"
|
||||
webrtc:
|
||||
listen: ":8555"
|
||||
candidates:
|
||||
@@ -54,10 +47,7 @@ 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.
|
||||
# On-demand bestätigt: go2rtc startet Encoder erst bei erstem Client (0% CPU ohne Client).
|
||||
|
||||
services:
|
||||
|
||||
@@ -70,8 +60,11 @@ services:
|
||||
devices:
|
||||
- /dev/video0:/dev/video0
|
||||
- /dev/video2:/dev/video2
|
||||
# /dev/dri nicht mehr nötig: MJPEG-Passthrough braucht keine GPU
|
||||
group_add:
|
||||
- video
|
||||
# render-Gruppe NICHT hier setzen — existiert im Container-Image nicht → 500-Fehler.
|
||||
# /dev/dri-Zugriff funktioniert via devices: + Container läuft als root.
|
||||
configs:
|
||||
- source: go2rtc_yaml
|
||||
target: /config/go2rtc.yaml
|
||||
|
||||
Reference in New Issue
Block a user