From 420e8e1550ff9aece09e5ab9cc921a8c272bac94 Mon Sep 17 00:00:00 2001 From: Joachim Hummel Date: Sun, 18 Oct 2026 13:55:42 +0200 Subject: [PATCH] README: ffmpeg, Video-Download der Timelapse --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 6eae8d5..939f908 100644 --- a/README.md +++ b/README.md @@ -31,6 +31,7 @@ Zwei kleine Python-Tools für MJPEG-Kameras: - Python 3 - [`requests`](https://pypi.org/project/requests/) +- Optional: `ffmpeg` für den Video-Download der Timelapse als MP4 (`apt install ffmpeg`); ohne ffmpeg liefert das Relay ein MJPEG-AVI - Optional für `webcam.py --show`: `opencv-python` und `numpy` ```bash @@ -111,6 +112,7 @@ journalctl -u webcam-relay -f | `POST //timelapse` | Timelapse steuern, Body `{"enabled":true,"interval":300}` | | `//timelapse.json` | Gespeicherte Timelapse-Bilder je Tag | | `//timelapse//.jpg` | Einzelnes Timelapse-Bild | +| `//timelapse//video?fps=10` | Tagesvideo als Download (MP4 mit ffmpeg, sonst MJPEG-AVI); `fps` 1–60 | | `/stream.mjpg`, `/snapshot.jpg` | Alias für die erste Kamera (Abwärtskompatibilität) | | `/health` | Status aller Kameras (`200` wenn alle liefern, sonst `503`); ohne Authentifizierung erreichbar | @@ -120,7 +122,7 @@ Das Frontend liegt in `frontend.html` (reines HTML/CSS/JS, keine Abhängigkeiten - Dunkles Design, zwei Kameras nebeneinander (auf dem Handy untereinander); Klick auf den Namen öffnet die große Ansicht - Statuspunkt und Hinweis „Kamera offline“ pro Kamera, automatisches Neuverbinden, Zähler „X / Y online“ -- Buttons pro Kamera: Start, Stop, Reload, Foto (Download), Vollbild; „Timelapse“ schaltet die Aufnahme je Kamera ein/aus, „Galerie“ zeigt die Bilder (Tag wählen, anklicken, abspielen; Intervall einstellbar) +- Buttons pro Kamera: Start, Stop, Reload, Foto (Download), Vollbild; „Timelapse“ schaltet die Aufnahme je Kamera ein/aus, „Galerie“ zeigt die Bilder (Tag wählen, anklicken, abspielen; Intervall einstellbar) und lädt ein Tagesvideo herunter (5/10/25 fps) - Toolbar: Alle starten / stoppen / neu laden - „Setup“ pro Kamera und „Setup alle“, sofern `SETUP_` konfiguriert ist; das Relay ruft die URL auf, der Browser muss die Kamera nicht erreichen - Streams werden getrennt, solange der Tab im Hintergrund ist