72 lines
3.7 KiB
Markdown
72 lines
3.7 KiB
Markdown
# 🛠️ Kapitel 13 – Clipper (Tutorial)
|
||
|
||
---
|
||
|
||
## Einleitung
|
||
Clips sind der beste Weg, lange Streams in kurze, teilbare Highlights zu verwandeln.
|
||
Das Ziel dieses Kapitels: Wir bauen ein System, das neue Videos automatisch erkennt, sinnvolle Stellen analysiert, passende Highlights schneidet und die Ergebnisse in Nextcloud ablegt – komplett mit Titeln und Hashtags für jede Plattform.
|
||
Der Clipper selbst übernimmt dabei nur die technische Verarbeitung. Alles rund um Steuerung, Analyse und Benachrichtigungen läuft über **n8n** – so bleibt das System flexibel, ressourcenschonend und jederzeit erweiterbar.
|
||
|
||
---
|
||
|
||
## Voraussetzungen
|
||
- **Proxmox LXC** mit Debian 12 (Bookworm)
|
||
- **Nextcloud** (Pflicht, Zielort für Clips & Metadaten)
|
||
- **n8n-Instanz** (Automatisierung, Steuerung Clipper, Analyse, Metadaten-Erzeugung)
|
||
- **Twitch-Entwickler-Account** inkl. API-Key (für VOD- und Clip-Zugriff)
|
||
- **Optional**: RTMP-Server, falls VODs lokal aufgezeichnet werden
|
||
- **Ressourcen für den LXC**: 1 vCPU, 512 MB RAM, 10 GB Speicher reichen aus
|
||
- **Grundwissen**: SSH-Verbindung, Nano-Editor, Basiskenntnisse in n8n
|
||
|
||
---
|
||
|
||
## Vorbereitung
|
||
Bevor wir Clipper installieren, richten wir den Container sauber ein:
|
||
|
||
1. **LXC erstellen**
|
||
- Debian 12, Name `clipper`
|
||
- Ressourcen wie oben (1 vCPU, 512 MB RAM, 10 GB Speicher)
|
||
|
||
2. **System aktualisieren und Basis-Tools installieren**
|
||
```bash
|
||
apt update && apt upgrade -y
|
||
apt install -y curl nano unzip ffmpeg inotify-tools
|
||
```
|
||
|
||
3. **Zeitsynchronisation prüfen**
|
||
```bash
|
||
timedatectl status
|
||
```
|
||
Eine saubere Zeitbasis ist entscheidend, da Clips später anhand exakter Sekundenmarken geschnitten werden.
|
||
|
||
4. **Ordnerstruktur vorbereiten**
|
||
```bash
|
||
mkdir -p /srv/clipper/{watch,out,temp,logs}
|
||
```
|
||
- `watch` → Eingangsordner für neue Videos (über Nextcloud oder Twitch-Import)
|
||
- `out` → fertige Clips + Metadaten
|
||
- `temp` → Zwischenablagen für Analyse
|
||
- `logs` → Protokolle aller Abläufe
|
||
|
||
Damit ist das Fundament gelegt: Der LXC ist vorbereitet, das System auf Stand, und die Ordnerstruktur für Clipper ist vorhanden.
|
||
|
||
---
|
||
|
||
## Hinweis zu späteren Schritten (Analyse & Schneiden)
|
||
Im weiteren Verlauf des Tutorials berücksichtigen wir:
|
||
- **Facecam-Erkennung**: Falls eine Facecam im Stream vorhanden ist, wird sie automatisch erkannt und als Overlay (z. B. Kreis, Rechteck oder wechselnde Form) in den Clip eingeblendet.
|
||
- **Format-Anpassung**: Clips können zusätzlich ins **Hochformat (9:16)** umgewandelt werden, damit sie ohne Nachbearbeitung für TikTok, Instagram Reels oder YouTube Shorts nutzbar sind.
|
||
- **Varianten**: Optional werden sowohl Querformat (16:9) als auch Hochformat exportiert, um alle Plattformen optimal zu bedienen.
|
||
|
||
### Untertitel-Steuerung (per n8n-Option)
|
||
In n8n fügen wir ein **Auswahlfeld** „Untertitel“ hinzu (z. B. im Start-Form/Set-Node oder als Workflow-Variable), mit drei Modi:
|
||
1. **Aus** – es werden keine Untertitel erzeugt.
|
||
2. **SRT** – es wird automatisch eine `.srt` per STT (z. B. Whisper) erzeugt und neben dem Clip abgelegt.
|
||
3. **Generiert nach Preset** – STT erzeugt Text + Timing, n8n wendet ein **Style-Preset** an und rendert die Untertitel ins Video ("burned-in").
|
||
|
||
**Preset-Verwaltung:** Die Style-Presets (Schriftgröße, Outline, Hintergrund, Position, ggf. ASS/Drawtext-Parameter) liegen zentral, z. B. in Nextcloud unter `/presets/subtitles.json` oder als n8n Static Data. So können später weitere Presets ergänzt werden, ohne den Workflow umzubauen.
|
||
|
||
**Pipeline-Auswirkung:**
|
||
- Modus **SRT** → `.srt` speichern, Clip bleibt „clean“.
|
||
- Modus **Preset** → `.srt` generieren **und** per ffmpeg (drawtext/subtitles) ins Video rendern; zusätzlich optional `.srt` beilegen.
|