4.0 KiB
4.0 KiB
stream-recorder
Generischer Stream-Recorder für RTMP, HLS, HTTP-Audio und weitere Formate
🏰 Website · 📰 Community · 🐘 Mastodon · 💬 Support
Funktionen
- Mehrere Stream-Typen — RTMP, RTMPS, HLS (m3u8), MP3, AAC, OGG, FLAC und HTTP-Streams
- Job-basiert — Ein Stream = eine Job-Datei, inklusive Zeitplanung
- Segment-Splitting — Lange Aufnahmen automatisch in Teile zerlegen (z.B. stündlich)
- Plik-Upload — Aufnahmen und Segmente automatisch auf Plik hochladen
- Zeitplanung — Aufnahmezeiten direkt in der Job-Datei konfigurieren (kein Cron nötig)
- Auto-Reconnect — Automatische Wiederverbindung bei Verbindungsabbrüchen
- Live-Status — Laufende Aufnahmen mit Laufzeit, Dateigröße und Segment-Anzahl anzeigen
- NTFY-Benachrichtigungen — Push-Nachrichten bei Start, Stop, Fehler und Upload
- Schnellaufnahme — Interaktiver Modus für spontane Aufnahmen
Voraussetzungen
- Linux (getestet unter Ubuntu/Debian)
- Bash 4.0+
- ffmpeg (
sudo apt install ffmpeg) - curl (optional, für NTFY und Plik)
Schnellstart
# Klonen und einrichten
git clone https://git.techniverse.net/scriptos/stream-recorder.git /opt/stream-recorder
cd /opt/stream-recorder
cp config/stream-recorder.conf.dist config/stream-recorder.conf
nano config/stream-recorder.conf
# Scheduler installieren (optional)
sudo install/install.sh
# Ersten Job erstellen
./stream-recorder.sh create
# Oder direkt loslegen
./stream-recorder.sh quick
Befehle
./stream-recorder.sh record [job] # Aufnahme starten (ohne Angabe: Auswahl)
./stream-recorder.sh stop [job] # Aufnahme stoppen (ohne Angabe: Auswahl)
./stream-recorder.sh status # Laufende Aufnahmen anzeigen
./stream-recorder.sh list # Alle Jobs anzeigen
./stream-recorder.sh create # Neuen Job erstellen
./stream-recorder.sh quick # Schnellaufnahme
./stream-recorder.sh logs # Logs live verfolgen
Dokumentation
| Thema | Beschreibung |
|---|---|
| Installation | Installation, Updates, Deinstallation |
| Konfiguration | Alle Konfigurationsparameter |
| Job-Dateien | Jobs erstellen und verwalten |
| Zeitplanung | Automatische Aufnahmezeiten |
| Segment-Splitting | Aufnahmen in Teile zerlegen |
| Plik-Upload | Automatischer Upload auf Plik |
| Benachrichtigungen | NTFY Push-Nachrichten |
| Befehle | Alle Befehle im Detail |
| Beispiele | Praxisbeispiele und Workflows |
Verzeichnisstruktur
stream-recorder/
├── stream-recorder.sh # Hauptscript
├── config/
│ └── stream-recorder.conf.dist # Konfigurations-Vorlage
├── jobs/ # Job-Definitionen
│ └── templates/ # Vorlagen
│ ├── example-rtmp.job.dist
│ ├── example-hls.job.dist
│ └── example-mp3.job.dist
├── docs/ # Dokumentation
├── install/
│ ├── install.sh # Scheduler installieren
│ └── uninstall.sh # Scheduler deinstallieren
├── README.md
└── LICENSE
© Patrick Asmus · Techniverse Network · Lizenz