Video Edit Compare
Rendere den einzelnen V1-Vergleichsmodus: original-vs-final-source-time.
Das linke Panel spielt das Original kontinuierlich ab. Das rechte Panel projiziert die tatsächlichen finalen Auslieferungspixel zurück auf die ursprüngliche Quellzeit. Entfernte Bereiche sind schwarz, behaltene Final-Bereiche werden auf ihre Quellzeitdauer gestreckt, und der Audio wird aus dem Original kopiert.
Abhängigkeiten
Erfordert ffmpeg/ffprobe im PATH sowie Python mit Pillow. Überprüfe diese vor der Medienverarbeitung.
Eingaben
work/timeline.json: kanonische chronologische Quell-zu-Programm-Zuordnunginput/original-video.mp4: Originalquellefinal/final-video.mp4: tatsächliche Auslieferung nach allen ausgewählten Bearbeitungen
Nicht mit einem Schnittplan oder einem Zwischenrender vergleichen. Die finalen Pixel werden benötigt, damit die Überprüfung Farbkorrektur und Einblendungen einschließt.
Rendern
python scripts/make_compare.py TIMELINE.json SOURCE.mp4 FINAL.mp4 OUT.mp4 [--filter-only]
Projektbeispiel:
python skills/video-edit-compare/scripts/make_compare.py `
work/timeline.json `
input/original-video.mp4 `
final/final-video.mp4 `
review/04-edit-compare/original-vs-final-source-time.mp4
Das Skript schreibt immer das dauerhafte work/edit-compare/compare-plan.json. Es schreibt PIL-Beschriftungsbilder und den generierten Filtergraphen unter dem temporären work/cache/. --filter-only erstellt den Plan und überprüfbare Cache-Dateien ohne das Video zu rendern.
Zuordnungsregeln
- Quellclips chronologisch, nicht überlappend und einzeln-quellend halten.
- Jeden Clip auf seinen
program_rangeaus dem Finalvideo zuschneiden. - Ihn um die Clipgeschwindigkeit strecken, um seine
source_range-Dauer wiederherzustellen. - Schwarz für jede Quellzeitlücke einfügen.
- Den Original-Audio ohne Zeitänderung zuordnen.
- Start- und Endframe jedes Teils von seinen absoluten Quellzeitgrenzen ableiten, dann auf diese Frame-Anzahl zuschneiden und PTS bei der rationalen FPS der Timeline neu aufbauen. Nie die Dauer jedes Teils unabhängig runden; kumulative Concat-Rundung verursacht Quellzeitdrift.
Neu angeordnete, duplizierte, überlappende, nichtlineare oder mehrere Quellen verwendende Timelines werden in V1 nicht unterstützt und müssen die Validierung fehlschlagen lassen.
Überprüfung
Nach dem Rendern überprüft das Skript automatisch die vollständige Ausgabe:
- Dauer entspricht
source_duration_sinnerhalb eines Frames; - Ausgabebreite ist das Doppelte der Quellbreite;
- jedes Sample in einem entfernten Bereich ist auf der rechten Seite schwarz;
- Samples in behaltenen Bereichen entsprechen den entsprechenden Final-Programm-Frames;
- Original-Audio bleibt kontinuierlich und auf der Quellzeit.
Bei Erfolg schreibt es review/04-edit-comparison-summary.md mit einem bestandenen Überprüfungsergebnis. Wenn work/project.json existiert, wird auch der original-vs-final-source-time-Review-Knoten hinzugefügt oder aktualisiert, die genauen aktiven Operation-Revisionen in based_on festgehalten und START-HERE.md aktualisiert. Kein separates Prüfmanifest erstellen.
Dieser Vergleich ist ein Review-Auslieferungsgegenstand, keine Standardvorschau. Erzeuge ihn, nachdem das finale Render vorhanden ist.