Files
Homelab--Bratonein-Kontroll…/Kapitel 13/Tutorial.md

3.7 KiB
Raw Blame History

🛠️ 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

    apt update && apt upgrade -y
    apt install -y curl nano unzip ffmpeg inotify-tools
    
  3. Zeitsynchronisation prüfen

    timedatectl status
    

    Eine saubere Zeitbasis ist entscheidend, da Clips später anhand exakter Sekundenmarken geschnitten werden.

  4. Ordnerstruktur vorbereiten

    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.