Was macht video-tighten?
Erfordert das resolve-bridge-Skill, das neben diesem installiert ist (es wird unter ../resolve-bridge gefunden, oder setze RVS_BRIDGE), sowie ffmpeg.
Arbeitsablauf
- Wo sind wir.
python3 <resolve-bridge>/scripts/rvs.py --workdir <ordner> status. Wenn noch kein Zustand vorhanden ist, übernimm die Timeline, die der Benutzer straffen möchte (siehe resolve-bridge). - Testlauf. Ändert nichts in Resolve:
Schreibtpython3 scripts/tighten.py --workdir <ordner><ordner>/.edit/tighten/REPORT.md,report.jsonundplan.json. - Bericht mit dem Benutzer lesen. Zeige die Laufzeitänderung, die Anzahl der verkürzten Pausen und jede Markierung. Markierungen kennzeichnen Schnitte, die das Skript nicht beheben konnte (ein Wort, das vor dem In-Point beginnt, mit anderer Sprache direkt davor), also muss jemand sie nach Gehör überprüfen oder einen anderen Take wählen.
- Absichtliche Pausen schützen. Stille, die Schauspiel ist (ein Blick, ein Moment vor dem Point, Tippen auf der Kamera), darf nicht geschnitten werden. Frage den Benutzer, führe dann erneut aus mit
--skip <Clip-Name oder Timeline-Startframe> .... - Anwenden.
Erstelltpython3 scripts/tighten.py --workdir <ordner> --skip ... --apply<basis>_vNN_tighten, archiviert die vorherige Version, speichert das Projekt. Jede Markierung wird zu einem Problem inEDIT_CHECKLIST.md, lokalisiert durch Clip-Namen und Timecode in der neuen Timeline. Teile dem Benutzer den neuen Timeline-Namen und die Problem-IDs mit.
Was es tut
| Standard | Option | |
|---|---|---|
| Luft vor dem ersten Wort | 0.22 s | --pre |
| Luft nach dem letzten Wort | 0.38 s | --post |
| Kante darf in die Stille desselben Takes wachsen (rettet abgeschnittene Wörter) | bis zu 0.5 s | --max-extend |
| Niemals näher als dies an anderen Geräuschen (Atem, Gemurmel, nächster Take) | 0.08 s | --guard |
| Pausen innerhalb eines Clips länger als … | 0.75 s | --pause-max |
| … werden verkürzt auf | 0.3 s | --pause-keep |
| Niemals ein Stück kürzer als | 0.5 s | --min-piece |
| Nur Kanten korrigieren, alle Pausen behalten | aus | --no-pauses |
| Audiotracks, die kein Dialog sind (Musik) | keine | --ignore-audio-tracks 3 4 |
- Spracherkennung ist energiebasiert (
resolve-bridge/scripts/rvs_audio.py): Schwellenwerte stammen aus der gesamten Quelldatei, Wörter werden mit einem starken Schwellenwert gefunden und ihre Kanten wachsen durch weiche Endungen und angehängte Atemzüge. Es eignet sich für Nahbesprechungsaufnahmen. In lauten Umgebungen die Markierungen sorgfältiger prüfen. - Jede verkürzte Pause wird zu einem Sprungschnitt (der Clip wird geteilt). Führe anschließend video-framing aus, um sie mit Einzoomen zu verbergen oder mit B-Roll zu überdecken.
- Ripple: Spätere Clips rücken nach vorne. Video-Only-Elemente (B-Roll, Overlays) werden auf das neue Timing umverteilt und verkürzt, wo ihr Abschnitt kürzer geworden ist. B-Roll, das unter 0,5 s fallen würde, wird verworfen und aufgelistet.
- Modus: Dies ist ein struktureller Schritt, daher verwendet es den build-Modus von resolve-bridge. Titel und Generatoren auf der aktuellen Timeline werden nicht übernommen (die Bridge warnt). Führe
tightenaus, bevor du Grafiken hinzufügst.
Noch nicht behandelt
- Überlappender Dialog (J/L-Schnitte, die bereits in der Timeline sind): Diese Clips werden unverändert gelassen und markiert.
- Füllwörter ("ähm", "weißt du") benötigen ein Transkript; geplant mit Transkription in einem späteren Skill.