Techniverse Community

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 ```bash # 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 ```bash ./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](docs/installation.md) | Installation, Updates, Deinstallation | | [Konfiguration](docs/konfiguration.md) | Alle Konfigurationsparameter | | [Job-Dateien](docs/jobs.md) | Jobs erstellen und verwalten | | [Zeitplanung](docs/zeitplanung.md) | Automatische Aufnahmezeiten | | [Segment-Splitting](docs/segment-splitting.md) | Aufnahmen in Teile zerlegen | | [Plik-Upload](docs/plik-upload.md) | Automatischer Upload auf Plik | | [Benachrichtigungen](docs/benachrichtigungen.md) | NTFY Push-Nachrichten | | [Befehle](docs/befehle.md) | Alle Befehle im Detail | | [Beispiele](docs/beispiele.md) | 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