/vfx - VFX-Paket für Talking-Head-Reels
Große Titel werden hinter dem Sprecher (Personensegmentierung) gezeichnet und automatisch über dem Kopf platziert. Volle Hebräisch-/RTL-Unterstützung.
| Befehl | Funktion |
|---|---|
/vfx strike | Großes Wort über dem Kopf → rote Linie streicht es durch → Wort wird ersetzt |
/vfx echo | Großer Titel erscheint mit mehreren Umriss-Kopien, die herausplatzen |
/vfx spotlight | Hintergrund wird dunkel, warmes Licht auf den Sprecher, flackernder Neon-Titel |
/vfx freeze-mark | Einfrieren + Blitz + Zoom + handgezeichneter roter Kreis um das Gesicht (optional mit Beschriftung) |
/vfx pinned-comment | „Antwort an Kommentar“-Karte erscheint oben |
/vfx plan | Mehrere Effekte in einem Durchlauf rendern |
/vfx showcase | Umhüllt einen gerenderten Clip mit einer Claude-App-Oberfläche: getippte Befehle, „Bearbeitet mit /vfx X“-Kopfzeile, Tipp- + Effektgeräusche, abschließender Call-to-Action |
Eingaben
- Das Video (vertikal 9:16 Talking-Head funktioniert am besten) und, pro Effekt, die genauen Texte und Zeitangaben.
Erfinde niemals Texte, die der Benutzer nicht angegeben hat; frage einmal nach, falls etwas fehlt. Zeitangaben können von einem Auslösewort stammen (siehe
words). - Speichere die Ausgabe neben der Quelle als
<name>_vfx.mp4.
Einrichtung (einmalig)
- Skripte befinden sich neben dieser Datei:
scripts/vfx.py,scripts/compose.py(mit vollständigem Pfad aufrufen). - Benötigt
ffmpeg, Node/npm (Schriftarten + Segmentierungsmodell werden einmalig mitnpm packin~/.cache/vfxgeladen) undpip install numpy pillow fonttools python-bidi ai-edge-litert "opencv-python-headless<5". Optional:pip install rembg onnxruntime(sauberere Haarkanten, wird automatisch verwendet),pip install faster-whisper(Wortzeitsteuerung).
Arbeitsablauf
ffprobeden Clip. Wenig Platz über dem Kopf → Titel werden automatisch in das untere Drittel verschoben; Neurahmen wird empfohlen.- Zeitsteuerung anhand der Sprache:
python3 scripts/vfx.py words clip.mp4 --lang he→{word,start,end}-Zeilen. - Rendern:
Strike-Variante (nur plan.json):python3 scripts/vfx.py strike in.mp4 out.mp4 --text "משעמם" --swap "מרתק" --at 2.1 --strike-at 2.8 --swap-at 3.3 python3 scripts/vfx.py echo in.mp4 out.mp4 --text "IN-APP BROWSER" --at 5 --dur 2.5 python3 scripts/vfx.py spotlight in.mp4 out.mp4 --text "AI SLOP" --at 13 --dur 2.5 python3 scripts/vfx.py freeze-mark in.mp4 out.mp4 --at 9.5 --hold 1.5 --label "תסתכלו כאן" python3 scripts/vfx.py pinned-comment in.mp4 out.mp4 --user someone --text "..." --at 17 --dur 4 python3 scripts/vfx.py plan in.mp4 out.mp4 plan.json # [{"fx":"strike","text":..,"at":..}, ...]"front_first": truesetzt das erste Wort AUF das Gesicht, vor dem Sprecher, und das Ersatzwort HINTER den Kopf (z.B. „מלפנים“ → „מאחור“);"overlap": 0.45verdeckt mehr davon hinter dem Kopf. Echo-Variante (plan.json):"linger": truebehält die Umriss-Kopien auf dem Bildschirm (sanft atmend) bis zum Ende des Effekts. Optionen:--y(feste Titelhöhe, als Bruchteil des Rahmens; erhöhen, wenn der Kopf Buchstaben verdeckt),--color, freeze-mark--x --y --rum etwas anderes einzukreisen,--seg fast|quality,--crf. - Showcase (optional):
python3 scripts/compose.py fx.mp4 final.mp4 schedule.json{"intro": 2.4, "cta": 3.2, "cmds": [{"cmd": "strike", "send": 0.0, "desc": "Sag es, streich es, tausch es", "sfx": [["swish", 0.9], ["pop", 1.5]]}, {"cmd": "echo", "send": 2.75, "desc": "Großer Titel, Echo-Ausbruch", "sfx": [["boom", 2.8]]}], "cta_lines": ["רוצים את הסקיל", "של 5 הפקודות?"], "cta_button": "תגיבו \"סקיל\""}send= Clip-Sekunde, zu der der Befehl gesendet wird (setzeatjedes Effekts etwa 0,05s danach). Der erste Befehl wird im Intro getippt. Sounds: key, send, whoosh, swish, pop, boom, shutter, power, ding, chime. - Überprüfung: Nimm 2-3 Frames pro Effekt (
ffmpeg -ss T -i out.mp4 -frames:v 1 f.png), betrachte sie (Text lesbar, Gesicht sichtbar, Hebräisch von rechts nach links, nichts abgeschnitten), korrigiere und rendere erneut. Dann liefere mit einer Zeile pro Effekt aus.