Schnitt-Oberfläche mit Optionen, Mixer, Voice-over und Export bauen
Im Projekt lassen sich Intro, Outro, Beschleunigen, Stummschalten und Backing Track anhaken, Dateien hochladen und alle Tonspuren von 0 bis 100 regeln. Pro Clip nimmt der Browser ein Voice-over auf, während der Clip im späteren Tempo läuft. Einstellungen werden verzögert gespeichert; der Export zeigt Fortschritt, Vorschau und Download. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
18d5b80959
commit
ccd70bd585
10 files changed
+916
-57
No files matched your search
@@ -17,8 +17,6 @@ automatisch passieren soll:
|
||||
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
|
||||
@@ -57,6 +55,26 @@ NODE_ENV=production APP_PIN=… npm start
|
||||
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.
|
||||
4. Im Projekt anhaken, was passieren soll, Intro, Outro und Backing Track
|
||||
hochladen, Lautstärken einstellen und pro Clip ein Voice-over aufnehmen
|
||||
(der Clip läuft dabei im späteren Tempo) oder als Datei hochladen.
|
||||
5. „Video erstellen“ rendert im Hintergrund; danach herunterladen.
|
||||
|
||||
## Wie geschnitten wird
|
||||
|
||||
- Jeder Clip wird einzeln auf 1920×1080 bei 30 fps gebracht. Hochkant-Clips
|
||||
stehen mittig vor einer unscharfen, vergrößerten Kopie ihrer selbst.
|
||||
- Clips über 10 Sekunden werden per `setpts` auf genau 10 Sekunden
|
||||
beschleunigt; ihr Ton (falls nicht stumm) per verketteter `atempo`-Stufen.
|
||||
- Voice-over und Clip-Ton werden pro Clip gemischt und auf Clip-Länge gekürzt.
|
||||
- Die Clip-Segmente werden aneinandergehängt, der Backing Track darunter
|
||||
wiederholt, gekürzt und über 2 Sekunden ausgeblendet; danach kommen Intro
|
||||
und Outro dazu.
|
||||
- Segmente liegen zwischengespeichert unter `render/cache`; wer nur die
|
||||
Musik ändert, wartet nicht auf alle Clips. Zwischenstände tragen
|
||||
unkomprimierten Ton, erst das Endergebnis wird AAC, damit sich über viele
|
||||
Übergänge keine Verschiebung aufsummiert.
|
||||
- Exporte laufen nacheinander, weil ffmpeg alle Kerne nutzt.
|
||||
|
||||
## Befehle
|
||||
|
||||
@@ -67,6 +85,8 @@ NODE_ENV=production APP_PIN=… npm start
|
||||
## Aufbau
|
||||
|
||||
- `server/` – Express-Server: Anmeldung, Projekte, Upload in Stücken, ffprobe
|
||||
- `server/render.js` – Schnittplan und ffmpeg-Kette
|
||||
- `server/renderQueue.js` – Exporte im Hintergrund
|
||||
- `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
|
||||
|
||||
Reference in new issue
Block a user