Claude: Korrekturen nach WebRecherche
This commit is contained in:
@@ -373,3 +373,38 @@ GET /api/snapshot/cam0/hires
|
||||
```
|
||||
|
||||
Umgesetzt in `src/snapshotService.js` und `docker-compose.yaml`.
|
||||
|
||||
### Erster Live-Test (2026-06-04): erfolgreich + 2 Bugs behoben
|
||||
|
||||
Live-Stream nahezu Echtzeit, stabil. Hi-Res-Bild 1280×960 über `/hires` da.
|
||||
Zwei Bugs gefunden und sofort behoben:
|
||||
|
||||
1. **Schwarzer Player nach Reload** ✓ behoben
|
||||
Ursache: Stream-Restore rief die go2rtc-API falsch auf. Verifiziert gegen die
|
||||
go2rtc-OpenAPI-Spec: `PUT /api/streams` erwartet `src` = **Quelle (URI)** und
|
||||
`name` = Stream-Name, beide als Query-Param. Der Code schickte aber `src=cam0`
|
||||
(den Namen) und die Quelle im **Body** (den go2rtc ignoriert). Folge: `cam0` wurde
|
||||
mit Quelle „cam0" = Selbstreferenz neu angelegt → kaputt → beim nächsten
|
||||
Verbindungsaufbau (Reload) schwarz. Fix: `buildPutUrl()` →
|
||||
`PUT /api/streams?name=cam0&src=<url-encoded-quelle>`, kein Body.
|
||||
(DELETE `?src=cam0` war korrekt — DELETE nutzt `src` als Namen, API-Asymmetrie.)
|
||||
|
||||
2. **Hi-Res-Bild manchmal leer (~1KB schwarz)** ✓ behoben
|
||||
Ursache: USB-Kamera liefert direkt nach Geräte-Öffnen unbelichtete Frames
|
||||
(Auto-Belichtung/Weissabgleich brauchen einen Moment). `-frames:v 1` griff den
|
||||
ersten, schwarzen Frame. Fix: erste 15 Frames verwerfen
|
||||
(`-vf select=gte(n,15)`), dann einen greifen. Kostet ~1 s mehr Blackout.
|
||||
|
||||
### Offene Punkte (ToDo)
|
||||
|
||||
- **go2rtc-CPU ~53% bei 2 aktiven Live-Streams.** Besser als H.264-Transcode (~127%),
|
||||
aber kein echtes Null. go2rtc re-encodiert MJPEG→MJPEG (kein `-c:v copy`) statt
|
||||
reinem Durchreichen. Das sind ~0,5 CPU-Kerne für 2 Kameras → stabil und unkritisch
|
||||
auf dieser Maschine. **Optionaler Hebel falls je nötig:** prüfen ob go2rtc-Quelle
|
||||
auf echtes Copy/Passthrough umstellbar ist. Risiko: Stabilität des laufenden,
|
||||
funktionierenden Streams — daher nur anfassen wenn CPU real zum Problem wird.
|
||||
- **Geräte-Race bei Hi-Res mit gleichzeitig offenem Live-Tab.** Ist ein Live-Consumer
|
||||
aktiv, kann go2rtc das Gerät nach dem DELETE per on-demand-Reconnect sofort wieder
|
||||
greifen und mit dem Hi-Res-Grab kollidieren. Warmup + Frame-Verwerfen fängt das
|
||||
meist ab. Falls doch leere Bilder auftreten: kurzer Retry im Grab, oder Live-Tab
|
||||
vor dem Hi-Res-Klick kurz pausieren.
|
||||
|
||||
Reference in New Issue
Block a user