Atomic MCP Timeline Assembly & Verification (/assemble-timeline)
Option A: FilmCraft MCP Execution (filmcraft MCP-Server – erfordert FilmCraft v0.17.0+)
1. Umgebungs- und Bridge-Überprüfung
- Führe zuerst
python3 ./.agents/skills/assemble-timeline/scripts/check_filmcraft_env.pyaus, um FilmCraft $≥$v0.17.0zu überprüfen, die automatische Synchronisation vonfilmcraft-climitFilmCraft.appsicherzustellen und neu hinzugefügte MCP-Befehle in00_Archive_Indexes/filmcraft_capabilities.jsonzu erfassen. - Stelle sicher, dass FilmCraft im Bridge-Modus läuft, wobei Caches nach
~/Movies/Cache_And_Previewsumgeleitet werden:mkdir -p ~/Movies/Cache_And_Previews && cd ~/Movies/Cache_And_Previews open -a FilmCraft --args --control 9876
2. Live Visual Assembly Mode (Standard & empfohlen)
Das Live-Verfolgen der Timeline-Montage in der geöffneten FilmCraft-GUI fügt weniger als 1,5 Sekunden zur gesamten Socket-Ausführungszeit hinzu (Aufrufe dauern $< 20\text{ ms}$ über die lokale Bridge) und bietet sofortige visuelle Überprüfung:
- Leere Leinwand bei Sekunde 0 öffnen:
Erstellt und öffnet sofort die leere
.fcproj-Shell in FilmCraft übercommand_run({"id": "file.open", "params": {"path": "<fcproj_path>"}}) odersequence.new. Der Benutzer sieht seine leere 4K-Sequenz bei Sekunde 0 erscheinen. - Gestreamter Medienimport:
Rufe
media_importmit den absoluten Dateipfaden aller ausgewählten Videoclips, Fotos, Archivmaterialien und ausgewählten03_Audio_Library/01_Curated_BGM/-Tracks (A2) auf. - Live Szenen-für-Szenen-Stream:
Während jede Szene aus dem genehmigten
Cut Tableverarbeitet wird, werdencommand_batch-Aufrufe live über die 9876-Bridge gestreamt:playhead.set: Bewegt den Abspielkopf zur Startzeit der Szene.source.overwrite/timeline.insertClip: Platziert das visuelle Clip aufV1(oderV2für Overlays/PIP) und synchrones Audio aufA1.motion.apply: Fügt Ken BurnsEaseIn/EaseOut-Skalierungs- und Schwenk-Keyframes auf Standbilder ein (100% $ ightarrow$ 108%, oder 134% $ ightarrow$ 142% bei 4:3-Fotos, um Pillarbox-Beschneidung zu verhindern).audio.append: Fügt Hintergrundmusik (A2) mit 1,5 s Einblendung und Anschwellen hinzu.voiceover.insert: Fügt Sprachüberlagerungssegmente (A4) in die Live-Timeline ein, sobald jede Audiocue synthetisiert ist.
- Broadcast-Politur:
- Same-Language Live Dialogue Honor Law: Platziere niemals
A4-Sprachüberlagerung in Sprache $L$ überA1-Live-Kameradialog in derselben Sprache $L$ (ENVO respektiert liveEN-Dialog;RUVO respektiert liveRU-Dialog;UAVO respektiert liveUA-Dialog). WennA4-VO einen Clip mit fremdsprachigem Kameradialog übersetzt (edition_lang != clip_dialog_lang), senkeA1um-12 dBwährend aktiver VO-Cues. - Natürliche
1.00xSprachgeschwindigkeit,1:1 V1 == A1Lippen-Synchronizität und Gesetz des musikalischen Intros: Wende niemalsatempo > 1.0oder internes Pausenentfernen (stop_periods=-1) auf Live-Kamerasprechen (A1) oder synthetisierte Sprachüberlagerung (A4) an. Passe die Größe der sprechenden visuellen Schnitte (V1) immer so an, dass sie den vollständigen1.00xgesprochenen Satz (src_in,dur) enthalten, sodassV1undA11:1 in Frame-und-Sample-Synchronisation bleiben (geschnitten überatrim=start=...:end=...,asetpts=PTS-STARTPTSmitdynaudnorm=f=150:g=7:p=0.90, einmal nachamixangewendet) und niemals in nicht dazugehörige Szenen überlaufen. Beginne jede Timeline und jede gerenderte.mp4immer mit einem1,5s–2,0slangen Musikintro, bevor die erste Sprach-Cue startet. - RMS-kalibriertes Musik-Ducking (
-28.5 dBMittelwert unter Sprache): Messe diemean_volumejedesA2-Musiktracks überffmpeg volumedetect(compute_bgm_ducked_gain_db) und setzegain_db = -28.5 - raw_mean_db, sodass das geduckte BGM bei einem Mittelwert von-28.5 dBliegt – ganze12.5 dBleiser als normalisierte-16.0 dBMittelwerte von Sprachüberlagerung und Live-Dialog, selbst bei heiß gemasterten, schwungvollen Tracks. - Markiere
A4-Sprachüberlagerung undA1-Dialog alsDialogue(clarity.eqPreset: "Balanced Voice") und führeessentialSound.generateDucking(reduceDb: -6.0,fadeS: 0.45) aufA2Music aus. - Wende einen nativen 1,5s bis 2,0s
dip_to_black-Übergang auf das letzte visuelle Clip an. - Obligatorischer synchronisierter Outro-Audio-Fade: Der Master-Audioausgang (
[fullout]) und die Musik aufA2MÜSSEN einen synchronisierten2,0s–2,5sHalbsinus-Ausblendung (afade=t=out:st=<TOTAL_DUR - FADE_DUR>:d=<FADE_DUR>:curve=hsin) ausführen, sodass alle Audiodaten (Musik, Kamera-Rauschen, SFX-Ausläufer) vollständige Stille (-infinity dB) beim oder vor dem letzten Frame erreichen. In.fcprojMUSS die SpurA2einenEndAtCut-Audio-Fade-Übergang tragen (from: Some(clip.id), to: None, align: "EndAtCut"). Der Ton DARF NIEMALS abrupt enden. - Schreibe mehrsprachige Untertitelspuren in
caption_tracks(C1) mitenabled: false(burnCaptions: falseStandard).
- Same-Language Live Dialogue Honor Law: Platziere niemals
3. Headless Batch Fallback (assemble_engine.py)
Wenn die FilmCraft-GUI nicht läuft oder der Bridge-Modus offline ist, wird die .fcproj direkt über assemble_engine.py in $< 1$ Sekunde zusammengestellt und das 4K-Master-MP4 über filmcraft-cli gerendert.
- Repository Hygiene Rule: Halte
.agents/skills/assemble-timeline/scripts/strikt für universelle, projektunabhängige Engines reserviert (assemble_engine.py,gpx_widgets.py,generate_voiceover.py,check_filmcraft_env.py). Sollte jemals ein benutzerdefiniertes oder projektspezifisches Montageskript für ein bestimmtes Projekt erstellt werden, speichere es immer im git-ignorierten Katalogordner dieses Projekts (04_Project_Catalog/YEAR/<project_name>/) und niemals innerhalb von.agents/skills/.
4. Visuelle Überprüfung & Master-Render
- Rufe
render_framean drei Zeitstempeln (Akt 1 Intro, Mittelpunkt, Epilog) auf, um die Bildausschnitte zu bestätigen. - Rendere das Master-4K-MP4 nach
~/Movies/Exports/YEAR/<project_name>.mp4. - Falls mehrsprachige Editionen angefordert (
option_b), remuxe mit lokalisierten Stämmen_UA.mp4und_RU.mp4.
Option B: DaVinci Resolve Studio MCP Execution (davinci-resolve)
- Erstelle eine neue Timeline (
1920x1080oder3840x2160,29.97fps,DaVinci YRGB Color Managed Rec.709). - Importiere die ausgewählten Medien in einen
Selects-Bin übermedia_pool, füge Clips anV1/V2/A1und Musik anA2übertimeline_editan, wendeCross Dissolve-Übergänge übertransitionsan, setze Ken Burns-Zoom-Keyframes überkeyframesund stelle Audio-Ducking überaudio/inspectorein. - Rufe
export_stillan drei Zeitstempeln auf, um den Schnitt visuell zu überprüfen, exportiere ein.drp/.drt-Backup nach04_Project_Catalog/YEAR/<project_name>/und stelle das endgültige.mp4-Rendering nach~/Movies/Exports/YEAR/überrenderin die Warteschlange.