Kapitel 13/Tutorial.md hinzugefügt

This commit is contained in:
2025-08-24 11:11:06 +00:00
parent 1219b22aaa
commit 1e7509552a

144
Kapitel 13/Tutorial.md Normal file
View File

@@ -0,0 +1,144 @@
# 🛠️ Kapitel 13 Clipper (Debian12LXC) Tutorial
Zu Beginn ein kurzer Hinweis: Grundlegendes wie das Anlegen eines LXC, SSHZugang oder die Einbindung einer Nextcloud haben wir in früheren Kapiteln gezeigt. Hier konzentrieren wir uns auf das, was Clipper besonders macht mit Erklärungen an den Stellen, wo Entscheidungen wichtig sind.
---
## Ziel und Aufbau
Wir setzen Clipper in einem Debian12LXC auf und statten ihn mit ffmpeg sowie einem kleinen WatchService aus. Er beobachtet entweder einen NextcloudOrdner oder optional die Ablage des RTMPServers. Sobald dort neue Dateien erscheinen, erzeugt er verlustfreie Clips (oder, falls nötig, ReEncodeVersionen) und legt sie in einem Ausgabeverzeichnis ab. Am Ende hast du eine Instanz, die Highlights automatisch vorbereitet, ohne dass du manuell schneiden musst.
---
## Voraussetzungen (knapp, aber konkret)
- Debian12LXC nach unserem Grundsetup (1 vCPU, 512MB RAM, 816GB Platte).
- ca. 10GB Speicherplatz für temporäre Dateien.
- **Pflicht:** Zugriff auf einen NextcloudOrdner (WebDAV oder lokales Mount).
- **Optional:** RTMPServer mit VODOrdner.
- **Optional:** Nginx Proxy Manager für internen Zugriff.
---
## 1) System vorbereiten
Bevor wir ffmpeg und den WatchDienst installieren, bringen wir den Container auf Stand und holen uns die BasisTools.
```bash
apt update && apt upgrade -y
apt install -y ffmpeg curl nano unzip inotify-tools davfs2
```
Prüfe die Zeitsynchronisation falsche Zeitstempel machen Logs unübersichtlich:
```bash
timedatectl status
```
---
## 2) Ordnerstruktur anlegen
Wir brauchen eine saubere Struktur für Eingaben, Ausgaben, Temporärdateien und Logs.
```bash
mkdir -p /srv/clipper/{watch,out,temp,logs}
```
Prüfen:
```bash
ls -l /srv/clipper
```
Die Verzeichnisse `watch`, `out`, `temp`, `logs` sollten sichtbar sein.
---
## 3) NextcloudOrdner einbinden
Clipper arbeitet am einfachsten mit einem NextcloudOrdner. Wir binden diesen via WebDAV ein.
1. Mountpunkt erstellen:
```bash
mkdir -p /mnt/nextcloud
```
2. Zugangsdaten in `/etc/davfs2/secrets` eintragen:
```
https://deine-nextcloud.tld/remote.php/dav/files/USERNAME/ USERNAME PASSWORT
```
3. Mount testen:
```bash
mount -t davfs https://deine-nextcloud.tld/remote.php/dav/files/USERNAME/ /mnt/nextcloud
```
4. Symbolischen Link setzen:
```bash
ln -s /mnt/nextcloud/Clips /srv/clipper/watch
```
Prüfen: Wenn du eine Datei in den NextcloudOrdner „Clips“ hochlädst, muss sie in `/srv/clipper/watch` erscheinen.
---
## 4) WatchScript erstellen
Jetzt kommt das Herzstück: ein Script, das neue Dateien erkennt und ffmpeg startet.
```bash
nano /usr/local/bin/clipper-watch.sh
```
Inhalt:
```bash
#!/bin/bash
inotifywait -m -e create -e moved_to /srv/clipper/watch --format '%f' | while read FILE
do
echo "$(date) - Neuer Clip: $FILE" >> /srv/clipper/logs/clipper.log
ffmpeg -i "/srv/clipper/watch/$FILE" -c copy "/srv/clipper/out/${FILE%.mp4}_clip.mp4"
done
```
Speichern und ausführbar machen:
```bash
chmod +x /usr/local/bin/clipper-watch.sh
```
---
## 5) Dienst unter Systemd einrichten
Damit das Script automatisch beim Booten startet, richten wir einen Service ein.
```bash
nano /etc/systemd/system/clipper.service
```
Inhalt:
```ini
[Unit]
Description=Clipper Watch Service
After=network.target
[Service]
ExecStart=/usr/local/bin/clipper-watch.sh
Restart=always
[Install]
WantedBy=multi-user.target
```
Aktivieren und starten:
```bash
systemctl enable --now clipper
```
Prüfen: Lade eine Datei in den NextcloudOrdner hoch. In `/srv/clipper/out` sollte ein Clip mit `_clip.mp4` erscheinen. Logs siehst du mit:
```bash
tail -f /srv/clipper/logs/clipper.log
```
---
## 6) Optional RTMPVODs anbinden
Falls du bereits einen RTMPServer betreibst, kannst du dessen VODOrdner zusätzlich einhängen:
```bash
mount -t nfs 192.168.1.50:/vod /srv/clipper/watch
```
So landen Streams direkt im WatchVerzeichnis.
---
## Ergebnis
Clipper überwacht nun automatisch deinen NextcloudOrdner. Jede neue Datei wird serverseitig verarbeitet und landet im Ausgabeordner. Optional lassen sich RTMPVODs nutzen. Dank Logs und Service läuft der Prozess stabil im Hintergrund.
---
## Nächste Schritte
Im nächsten Kapitel kümmern wir uns um **Backup (Basis, privat)**, damit deine Clips und die Konfigurationen dauerhaft gesichert sind.