stream-recorder
Generischer Stream-Recorder für RTMP, HLS, HTTP-Audio und weitere Formate — mit Web-UI und Docker
## Funktionen
- **Web-Interface** — Jobs planen, Aufnahmen steuern und verlängern im Browser
- **Docker-basiert** — Ein Container, läuft auf ARM und x86/x64
- **Mehrere Stream-Typen** — RTMP, RTMPS, HLS (m3u8), MP3, AAC, OGG, FLAC und HTTP-Streams
- **Aufnahmen verlängern** — Laufende Aufnahmen spontan verlängern oder auf unbegrenzt setzen
- **Zeitplanung** — Automatische Aufnahmezeiten direkt im Web-UI konfigurieren
- **Segment-Splitting** — Lange Aufnahmen automatisch in Teile zerlegen
- **Auto-Reconnect** — Automatische Wiederverbindung bei Verbindungsabbrüchen
- **Schnellaufnahme** — URL eingeben, sofort aufnehmen
- **NTFY-Benachrichtigungen** — Push-Nachrichten bei Start, Stop, Fehler und Upload (pro Job schaltbar)
- **Plik-Upload** — Aufnahmen automatisch hochladen, optional danach löschen (pro Job schaltbar)
- **Metadata-Monitor** — Automatische Show-Erkennung via Stream-Metadaten (Plugin)
- **REST-API** — Alle Funktionen auch per API steuerbar
## Schnellstart
```bash
# Repository klonen
git clone https://git.techniverse.net/scriptos/stream-recorder.git
cd stream-recorder
# Container starten
docker compose up -d
```
Das Web-UI ist unter `http://localhost:8484` erreichbar. Die Konfiguration wird beim ersten Start automatisch in `data/config.yml` erstellt.
## Docker Compose
```yaml
services:
stream-recorder:
image: stream-recorder:latest
container_name: stream-recorder
restart: unless-stopped
ports:
- "8484:8484"
volumes:
- ./data:/app/data
environment:
TZ: Europe/Berlin
```
## Daten
Alle persistenten Daten liegen in einem einzigen Volume (`./data`):
| Pfad | Beschreibung |
|------|-------------|
| `data/config.yml` | Konfiguration (wird beim ersten Start automatisch erstellt) |
| `data/stream-recorder.db` | SQLite-Datenbank |
| `data/recordings/` | Aufnahmen (pro Job ein Unterordner) |
## Multi-Arch Build
```bash
docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t stream-recorder:latest .
```
## Dokumentation
| Thema | Beschreibung |
|-------|-------------|
| [Jobs](docs/jobs.md) | Jobs erstellen, Zeitplanung, Schnellaufnahme |
| [Aufnahmen](docs/aufnahmen.md) | Verlängern, Stoppen, Reconnect, Segment-Splitting |
| [Plugins](docs/plugins.md) | NTFY, Plik-Upload, Metadata-Monitor |
| [Konfiguration](docs/konfiguration.md) | config.yml, alle Parameter |
| [API](docs/api.md) | REST-API Endpunkte |
© Patrick Asmus · Techniverse Network · Lizenz