ferdi2goandClaude Opus 5.5 03bfda09b2 Schnitt-Kette mit ffmpeg bauen
Jeder Clip wird einzeln auf 1920x1080 bei 30 fps gebracht, bei Bedarf
auf 10 Sekunden beschleunigt und hochkant mit unscharfem Hintergrund
gesetzt; Clip-Ton oder Stille plus Voice-over werden eingemischt. Der
Backing Track läuft nur unter den Clips, wird wiederholt, gekürzt und
ausgeblendet. Segmente werden zwischengespeichert, Zwischenstände tragen
unkomprimierten Ton, damit sich über viele Übergänge nichts verschiebt.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-29 10:53:14 +00:00
2026-09-29 10:53:14 +00:00
2026-09-29 10:53:14 +00:00
2026-09-29 08:48:58 +00:00

FuerDieCuts

Schneidet aus einem WhatsApp-Chatexport automatisch ein YouTube-Video.

Der Export (ZIP mit Medien) wird hochgeladen, die Videos werden anhand der Zeitstempel im Chat chronologisch sortiert. Über eine Maske wählt man, was automatisch passieren soll:

  • Intro und Outro einfügen (eigene Dateien)
  • Clips chronologisch aneinanderreihen
  • Clips über 10 Sekunden auf genau 10 Sekunden beschleunigen
  • Ton der Clips stummschalten (Intro und Outro ausgenommen)
  • Backing Track unter den Clip-Teil legen (wird wiederholt und passend gekürzt)
  • Voice-over pro Clip aufnehmen oder hochladen
  • Lautstärke jeder Tonspur von 0 bis 100

Ausgabe ist ein MP4 in 1920×1080 mit 30 fps. Hochkant-Clips werden mittig mit unscharfem Hintergrund eingesetzt. Zugang ist über eine PIN geschützt.

Stand: Anmeldung, Import des Exports und Upload der Videos laufen. Der Schnitt folgt.

Voraussetzungen

  • Node.js 20
  • ffmpeg und ffprobe im PATH (sudo apt install ffmpeg)

Installation und Start

npm install
cp .env.example .env   # APP_PIN eintragen
npm run dev

npm run dev startet den Express-Server samt Vite im Entwicklungsmodus auf einem Port (PORT, Vorgabe 3000) und liest dabei die lokale .env. In Produktion:

npm run build
NODE_ENV=production APP_PIN=… npm start

Umgebungsvariablen

Name Bedeutung
APP_PIN PIN für die Anmeldung, Pflicht
SESSION_SECRET optional; signiert die Sitzungs-Cookies, sonst wird eines erzeugt
PORT Port des Servers, Vorgabe 3000
VCH_DATA_DIR Ablage für Projekte und Uploads, Vorgabe ./data

Ablauf

  1. WhatsApp-Chat mit „Medien anhängen“ exportieren und entpacken.
  2. In der App „Neues Video“, den Exportordner wählen. Der Browser liest den Chat selbst; vorgewählt ist Montag bis Freitag der Vorwoche.
  3. Videos prüfen (Duplikate sind abgewählt) und hochladen. Nur die gewählten Videos werden übertragen, in Stücken von 8 MB; ein Abbruch lässt sich durch erneutes Wählen des Ordners fortsetzen.

Befehle

  • npm test – Tests (Node-Testrunner)
  • npm run lint – ESLint
  • npm run build – Frontend bauen

Aufbau

  • server/ – Express-Server: Anmeldung, Projekte, Upload in Stücken, ffprobe
  • src/ – React-Oberfläche (Vite)
  • src/lib/whatsapp.js – liest den Chatexport und ordnet die Videos
  • src/lib/upload.js – Upload in Stücken mit Wiederaufnahme
  • test/ – Tests
  • Dockerfile – Produktionsimage mit ffmpeg; Deploy über VCH (.vch/deploy.yaml)

Aufgebaut auf Node.js, Express, React, Vite und ffmpeg.

S
Description
FuerDieCuts App
Readme
192 KiB
0 Stars 1 Watchers 0 Forks
Languages
JavaScript 92.6%
CSS 6.7%
HTML 0.4%
Dockerfile 0.3%