main
stream-recorder
Generischer Stream-Recorder für RTMP, HLS, HTTP-Audio und weitere Formate — mit Web-UI und Docker
🏰 Website · 📰 Community · 🐘 Mastodon · 💬 Support
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
# 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.
Container Image
Release-Images werden automatisch in der Gitea Container Registry veröffentlicht:
docker pull git.techniverse.net/scriptos/stream-recorder:latest
docker pull git.techniverse.net/scriptos/stream-recorder:v3.0.0
Dev-Images entstehen bei Pushes auf main oder dev:
docker pull git.techniverse.net/scriptos/stream-recorder:dev-latest
Docker Compose
services:
stream-recorder:
image: git.techniverse.net/scriptos/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
docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t stream-recorder:latest .
Dokumentation
| Thema | Beschreibung |
|---|---|
| Jobs | Jobs erstellen, Zeitplanung, Schnellaufnahme |
| Aufnahmen | Verlängern, Stoppen, Reconnect, Segment-Splitting |
| Plugins | NTFY, Plik-Upload, Metadata-Monitor |
| Konfiguration | config.yml, alle Parameter |
| API | REST-API Endpunkte |
© Patrick Asmus · Techniverse Network · Lizenz
