66 lines
1.9 KiB
Markdown
66 lines
1.9 KiB
Markdown
# Installation
|
|
|
|
## Voraussetzungen
|
|
|
|
| Komponente | Anforderung |
|
|
|------------------|------------------------------------------|
|
|
| Betriebssystem | Linux (getestet unter Ubuntu/Debian) |
|
|
| Bash | Version 4.0 oder neuer |
|
|
| ffmpeg | Pflicht (`sudo apt install ffmpeg`) |
|
|
| curl | Optional, für NTFY und Plik-Upload |
|
|
|
|
## Installation
|
|
|
|
```bash
|
|
# Repository klonen
|
|
git clone https://git.techniverse.net/scriptos/stream-recorder.git /opt/stream-recorder
|
|
cd /opt/stream-recorder
|
|
|
|
# Konfiguration aus Vorlage erstellen und anpassen
|
|
cp config/stream-recorder.conf.dist config/stream-recorder.conf
|
|
nano config/stream-recorder.conf
|
|
|
|
# Scheduler installieren (systemd-Timer)
|
|
sudo install/install.sh
|
|
```
|
|
|
|
Das Install-Script:
|
|
- Macht das Hauptscript ausführbar
|
|
- Installiert fehlende Abhängigkeiten (ffmpeg)
|
|
- Erstellt die Konfigurationsdatei aus der Vorlage (falls nicht vorhanden)
|
|
- Richtet einen systemd-Timer ein, der jede Minute die Zeitpläne prüft
|
|
|
|
## Updates
|
|
|
|
Da die Konfiguration als Kopie (`stream-recorder.conf`) vorliegt und die Vorlage (`stream-recorder.conf.dist`) getrennt gepflegt wird, gehen eigene Einstellungen bei einem `git pull` nicht verloren.
|
|
|
|
```bash
|
|
cd /opt/stream-recorder
|
|
git pull
|
|
```
|
|
|
|
Nach einem Update sollte man prüfen, ob in `stream-recorder.conf.dist` neue Parameter hinzugekommen sind, und diese ggf. in die eigene `stream-recorder.conf` übernehmen.
|
|
|
|
## Deinstallation
|
|
|
|
```bash
|
|
sudo install/uninstall.sh
|
|
```
|
|
|
|
Entfernt den systemd-Timer und stoppt optional alle laufenden Aufnahmen. Job-Dateien, Konfiguration und Aufnahmen bleiben erhalten.
|
|
|
|
## Ohne systemd
|
|
|
|
Das Script funktioniert auch ohne Scheduler. In dem Fall muss man Aufnahmen manuell starten:
|
|
|
|
```bash
|
|
./stream-recorder.sh record mein-stream
|
|
```
|
|
|
|
Oder den Scheduler manuell per Cron aufrufen:
|
|
|
|
```bash
|
|
# crontab -e
|
|
* * * * * /opt/stream-recorder/stream-recorder.sh scheduler
|
|
```
|