851ff086ac86b609d6fd694af55f3724e77ce128
Die Dateigröße wird jetzt pro Aufnahme korrekt berechnet statt das gesamte Verzeichnis zu summieren. Bei abgeschlossenen Aufnahmen wird die Größe einmalig gespeichert und nicht mehr durch laufende Aufnahmen verändert. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
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