video-shotcraft:FIlmische Produktvideo-Erstellung
Eine eigenständige Produktionsbibliothek: 124 Shot-Rezeptkarten (mit Demo-Quellcode und dynamischer Muster-Galerie), eine geprüfte vollständige Promo-Vorlage, wiederverwendbare Komponenten, Freesound-Soundauswahl-Tools und BGM-Optionen, ein sechsstufiger Workflow. Der aktuelle Fokus liegt auf Web-/Desktop-Produkt-Promos, aber die Shot Cards sind universelle Bewegungsvokabeln – sie können auch einzeln für einzelne Szenen in beliebigen Videos verwendet werden.
Aufgabenbereich vor dem Aufruf prüfen
Nur Audio für ein vorhandenes Video oder einen Shot bearbeiten: Direkt references/sound-design.md und
references/sfx-sourcing.md lesen und in die Schritte Soundauswahl, -analyse oder -ausrichtung einsteigen, ohne den gesamten Erstellungsmodus neu zu wählen.
Bei Kandidatensuche nur sfx-source.py search ausführen und Materialseite/Hörprobe angeben, nicht herunterladen, Bild nicht ändern, nicht rendern;
Wenn Aktion, Material, Zieldauer und Lizenzanforderungen für die Suche ausreichen, ist kein vollständiges Videoprojekt erforderlich.
Wenn der Benutzer bereits eine Audiodatei angegeben hat, diese verwenden; bei Bedarf analyze ausführen, nicht automatisch nach Ersatz suchen.
Reine BGM-Anpassung über den BGM-Pfad in sound-design; bei Stummschaltung oder explizitem Wunsch nach keinen SFX keine SFX-Suche auslösen.
Bei der Erstellung einer neuen vollständigen Promo mit den folgenden Modi fortfahren.
Die vollständige Promo hat drei separate Modi, die nicht kombiniert werden. Bevor mit der Materialerfassung, dem Storyboard oder der Implementierung begonnen wird, prüfen, ob der Benutzer bereits eine explizite Wahl getroffen hat; wenn bereits gewählt, direkt ausführen, nicht erneut fragen und nicht auf einen anderen Modus wechseln.
- Vorlage direkt verwenden: Den vorhandenen Ink Press-Ablauf beibehalten.
template/TEMPLATE.mdlesen, Screenshots, Text und Markeninformationen des Zielprodukts gemäß der vorhandenen Shot-Struktur ersetzen. - Autonome freie Erstellung:
references/pipeline.mdlesen. Der Agent entscheidet basierend auf den Anforderungen des Benutzers und dem Projektinhalt autonom über visuelle Richtung, Shot-Mapping, Storyboard, Material und Audio und führt kontinuierlich bis zum fertigen Video durch; ohne bei Produkt-Briefing, Styleframe, Shot-Mapping oder Storyboard auf die Bestätigung des Benutzers zu warten. - Gemeinsame Erstellung:
references/guided-free-creation.mdlesen. Der Agent schlägt zunächst fundierte Beurteilungen und Pläne vor, und der Benutzer bestätigt nacheinander das Produkt-Briefing, die Anforderungsentscheidungen, die visuelle Richtung, das Shot-Mapping und das endgültige Storyboard; nach Freigabe des Storyboards geht es in die finale Materialerfassung und Produktionsphase vonreferences/pipeline.md.
Wenn der Benutzer einen Projektpfad, eine URL, einen Bildschirm-Mitschnitt oder Seiten-Screenshots bereitgestellt hat, aber noch keinen Modus gewählt hat, zuerst eine minimale, schreibgeschützte Produktprüfung durchführen: Produktpositionierung, Hauptfunktionen, visuelle Darstellung der Seite, präsentierbaren Zustand und Materialrisiken verstehen; das Geschäftsprojekt nicht ändern, keine sensiblen Daten erfassen, keinen Videocode schreiben. Nach der Prüfung die drei Modi anbieten und erklären:
- Ob Ink Press für das Produkt geeignet ist, mit konkreten Gründen für und wider;
- Ob autonome freie Erstellung und gemeinsame Erstellung jeweils geeignet sind und welche visuellen Produktmerkmale voraussichtlich erhalten bleiben;
- Welchen Modus der Agent empfiehlt, mit Begründung und Abwägungen.
Dann explizit fragen: „Basierend auf der obigen Produktprüfung empfehle ich den Modus ××. Soll ich mit diesem Modus fortfahren?“ Gleichzeitig den Benutzer informieren: Unter https://vincentwei1021.github.io/video-shotcraft/ kann er sich dynamische Muster ansehen und Bewegungseffekte auswählen, die er im Video verwenden möchte.
Wenn der Benutzer noch kein prüfbares Projekt oder keine prüfbare Seite bereitgestellt hat, die drei Modi kurz vorstellen und dann fragen; Ink Press nicht allein deshalb als Standard empfehlen, weil es eine fertige Vorlage ist.
- Benutzer wählt Vorlage:
template/TEMPLATE.mdvollständig lesen, nach dem ursprünglichen Vorlagenablauf ausführen. - Benutzer wählt autonome freie Erstellung:
references/pipeline.mdvollständig lesen, Agent führt autonom fort, ohne schrittweise Bestätigung. - Benutzer wählt gemeinsame Erstellung:
references/guided-free-creation.mdvollständig lesen, gemäß den Bestätigungspunkten darin zusammenarbeiten. - Benutzer hat sich noch nicht entschieden: An dieser Stelle anhalten und auf die Auswahl warten; nicht standardmäßig für den Benutzer auswählen und nicht mit der Erstellung beginnen.
Ausnahme 1: Wenn der Benutzer die Ink Press-Vorlage namentlich nennt, gilt der Vorlagenmodus als gewählt.
Z. B. „Mach mir eine Promo für mein Produkt mit der Ink Press-Vorlage.“ In diesem Fall nicht erneut fragen, sondern direkt template/TEMPLATE.md vollständig lesen und nach dem Vorlagenablauf ausführen.
Ausnahme 2: Wenn der Benutzer explizit bestimmte Shot Cards verwenden oder referenzieren möchte, sind die Shot-Beschränkungen bereits festgelegt.
Z. B. „Mach dieses Video mit deck-deal-flyin und row-embed“ oder „Referenziere den Effekt von spotlight-hero-card“. In diesem Fall die Vorlage nicht vorstellen und nicht fragen, ob die Vorlage verwendet werden soll; die angegebenen Shots gemäß der Gallery-Namensauflösung bestätigen, jede Karte vollständig lesen und anhand des „Referenz-Implementierung“-Felds den genauen Demo-Quellcode lokalisieren. Ein einzelner Shot kann ausgeführt werden, sobald das Zielmaterial klar ist; für eine vollständige Promo, bei der noch nicht klar ist, ob autonome freie oder gemeinsame Erstellung verwendet wird, nur nach diesen beiden Modi fragen, die angegebenen Shots als spätere Produktionseinschränkung behandeln, nicht automatisch mit gemeinsamer Erstellung gleichsetzen.
Vier Anwendungsfälle
- Vollständige Promo (Vorlagen-Route): Ein Effekt ähnlich der Vorlage gewünscht →
template/TEMPLATE.mdlesen, gemäß „Produktaustausch-Wiederherstellungsanleitung“ Material Shot für Shot anpassen. - Vollständige Promo (autonome freie Erstellung): Neuer Stil gewünscht und dem Agenten Autonomie erteilt →
references/pipeline.mdlesen, vom Produktverständnis kontinuierlich zur Endkontrolle vorantreiben, ohne schrittweise Bestätigung. - Vollständige Promo (gemeinsame Erstellung): Teilnahme an wichtigen Entscheidungen gewünscht →
references/guided-free-creation.mdlesen, Produkt-Briefing, Anforderungsentscheidungen, visuelle Richtung, Shot-Mapping und endgültiges Storyboard bestätigen lassen; nach Freigabe ab der finalen Materialerfassung in der Pipeline fortfahren. - Einzelner Shot / Einzelner Effekt: Eine Karte aus
references/shots/auswählen (oder den Benutzer in dergallery/-Galerie stöbern lassen), die vollständige Karte lesen und anhand des „Referenz-Implementierung“-Felds den genauen Demo-Quellcode lokalisieren, auf das Zielmaterial anpassen.
Grenze zwischen autonomer freier und gemeinsamer Erstellung
Autonome freie Erstellung überlässt dem Agenten die kreativen und technischen Entscheidungen. Der Agent leitet dynamisch aus dem Projektinhalt Produktschwerpunkte, visuelle Richtung, Shot-Mapping, Storyboard, Materialaufbereitung und Audio-Schema ab, dokumentiert die wichtigsten Entscheidungen und führt sie direkt aus; es sei denn, es fehlen notwendige Eingaben, die nicht sicher abgeleitet werden können, ansonsten keine Fragen stellen, nicht schrittweise pausieren und keine Zwischenergebnisse vom Benutzer bestätigen lassen. Bestehende explizite Anforderungen des Benutzers sind stets Einschränkungen und dürfen nicht durch Standardeinstellungen des Agenten überschrieben werden.
Gemeinsame Erstellung verwendet erst die schrittweise Bestätigung. Standardmäßig references/guided-free-creation.md lesen, pro Runde nur 1–3 Fragen stellen, die die meisten Nacharbeiten reduzieren, und bei Produkt-Briefing, Anforderungsentscheidungen, visueller Richtung, Shot-Mapping und endgültigem Storyboard anhalten und auf Bestätigung warten. Der Benutzer bestätigt die geschäftlichen und kreativen Richtungen; der Agent erledigt autonom die Erfassungsmethode, Implementierungsparameter, SFX-Pinning, Remotion-Engineering, Rendering und technische Qualitätssicherung.
Wenn der Benutzer während der gemeinsamen Erstellung explizit sagt „du entscheidest alles“ oder „überspringe die Bestätigung, mach einfach“, zur autonomen freien Erstellung wechseln und diese Wahl dokumentieren; nicht behaupten, autonom vorzugehen, während weiterhin schrittweise Bestätigung verlangt wird.
Das Mapping von Funktionen zu Shots ist nur die „Auswahl der Bewegungsgrammatik“, kein vollständiges Storyboard. Nach Bestätigung des Mappings in der gemeinsamen Erstellung muss der Agent weiterhin Shot-Reihenfolge, Dauer, spezifische Bilder, Seitenzustände, Materialquellen, Untertitel, Übergänge und SFX angeben; erst nach Bestätigung des vollständigen Storyboards wird mit der finalen Materialerfassung begonnen. Wenn der Benutzer Shot-Namen aus der Gallery kopiert, reicht die Angabe des Kartennamens oder „Kartenname · Stilname“, der Agent liest die lokalen Rezeptkarten und den Demo-Quellcode.
Kernkonzepte
-
Vorhandene Seiten müssen mit echten Screenshots reproduziert werden, handgestricktes UI ist auf Nicht-Reproduktions-Szenarien beschränkt, und Qualität sowie Ausdrucksklarheit sind harte Anforderungen. Um eine echte Produktseite darzustellen, sofort einen lokalen Dev Server starten, mit einem Headless-Browser 2x Texturen in voller Seitenhöhe + Element-Extraktion + layout.json-Koordinatentabelle erfassen. In Nicht-Reproduktions-Szenarien (abstrakter Opener/ Branding-Segment/ eigenständige Komponentenpräsentation) ist handgestricktes UI erlaubt, aber wenn es nicht veröffentlichungsreife Qualität erreicht oder der Betrachter nicht versteht, was es ausdrückt, zurück zum Screenshot-Pfad. Seitenmaterial nach Risiko behandeln: Öffentliche Demo-Daten dürfen nur nach expliziter Bestätigung im Produkt-Briefing beibehalten werden; Kunden-, persönliche, interne, vertrauliche, Echtzeit- oder andere sensible Daten müssen durch fiktive oder anonymisierte Inhalte ersetzt werden und vor der Erfassung eingefroren werden.
-
Die visuelle Sprache des gesamten Videos muss aus dem Produkt selbst erwachsen, nicht aus einem unzusammenhängenden „Promo-Skin“. Vor der Erstellung von Styleframes aus dem Produkt-/Webseiten-Design-System, Quellcode oder berechneten Styles das Design-Spec extrahieren und dokumentieren: Schriftfamilie und -stärke, Schriftgrößen-Hierarchie, Zeilenhöhe/Buchstabenabstand, Raster, Abstände, Ausrichtung, Informationsdichte und Rundungen sowie Hintergrund/Oberfläche/Text/Akzent/Statusfarben, Verläufe und Materialien. Alle Titel, Untertitel, Zahlen, Textkarten, Typografie, Übergänge, Partikel, Lichteffekte und andere Effektfarben im Video müssen diese Tokens wiederverwenden oder zurückhaltend erweitern und gleichzeitig den Ton, den Geschmack und die Haptik des Produkts treffen. Bei Verwendung des Vorlagen- oder Shot-Karten-Pfads nur deren Shot-Struktur, Bewegungsgrammatik, Rhythmus und bereits eingestellte Parameter übernehmen; Schriftarten, Layout, Farbschema und Material müssen gemäß dem Zielprodukt neu angepasst werden. Wenn aus erzählerischen Gründen vom Produkt-Design abgewichen werden muss, in der gemeinsamen Erstellung zuerst die Gründe erläutern und vom Benutzer bestätigen lassen; bei autonomer freier Erstellung die Gründe und Abwägungen im Design-Spec dokumentieren und dann fortfahren.
-
Filmische Wirkung entsteht aus Kameraführung, Licht, Rhythmus und Ton, nicht aus auffälligen Animationen. Wiederholt anerkannt wurden: Einzelner Protagonist mit vollständigem Aktionsbogen (Fokus → Hereinfahren → Schweben → Rückkehr), physikmetaphergetriebene Beschleunigung (Karten austeilen), seitlich geneigte Orbit-Kamera für Detailaufnahmen, Riser → Impact → Sparkle als Satz für Sound. Massen-Element-Eingänge durch Bewegung selbst, nicht durch einzelnes Aufleuchten – dekorative Glint-/Flare-Massen sind billig, einzelne hochwertige Lichteffekte sind in Ordnung.
-
Jeder Shot erzählt nur einen Effekt; nachdem die Schlüsselinformation gesetzt ist, muss geatmet werden. Eine Animationsmethode (Hereinfliegen/Stapeln/Seitenwechsel) ist pro Video nur einmal der Star; wiederholte Shots, wiederholte Taglines werden gelöscht. Die Rhythmus-Präferenz ist eindeutig: Historisches Feedback zeigt alle auf „Langsamer / Halten“, nie einmal „Zu langsam“ – Markenlogo nach dem Setzen ≥1s halten, bei Masseneffekten 0,5s Ruhe am Ende lassen, dem Einstiegs-Hauptobjekt volle 3s geben. Beim Timing im Voraus Budget für Halten/Pause einplanen.
-
Bei Videos mit stark rhythmisierter BGM müssen alle Übergänge und Effekte auf den Beat fallen. Musik bereits ausgewählt → Vor Beginn eine Rhythmusanalyse durchführen (librosa-Gitteranpassung für echten BPM/Phase + Kick/Snare/Hihat-Dreiklassenschlagzeug-Lokalisierung), das Gitter nach Abdeckung durch transiente Ereignisse validieren, bevor das Storyboard erstellt wird; Zeitachse mit Takt
beatF(n)schreiben, spärliche Akzente an echten transienten Ereignissen verankern, nicht an Gitter-Interpolationspunkten, nach dem Rendern aus dem finalen Video die Tonspur extrahieren und die Schnittpunktabweichung ≤3f messen. Beat-Synchronisation betrifft den Zeitpunkt, nicht die Amplitude – Beat-Impacts auf der gesamten Bildebene/Kameraebene gelten als große Slams, maximal 3 im gesamten Video (aesthetic-rules R4); andere Beat-Effekte bewegen nur die Elementebene. Methodik siehereferences/music-beat-sync.md. Videos mit BGM werden am Ende standardmäßig in zwei Versionen gerendert: mit BGM + ohne BGM (SFX beibehalten), über diebgminputProp aus derselben Zeitachse, damit der Benutzer später seine eigene Musik einfügen kann. -
Bei Verwendung von Shot-Karten-Effekten muss zuerst der Gallery-Index geparst und der genaue Demo-Implementierungscode gelesen werden. Zuerst mit
gallery/api/library.jsonden Kartennamen und denstyle-keyvalidieren, dann anhand des „Referenz-Implementierung“-Felds in der Kartendokumentation die spezifische TSX lokalisieren. Die Rezeptkarten liefern Semantik und Parametertabellen; der genaue Demo-Quellcode ist die Wahrheit der abgestimmten Parameter (Easing, Zeitverhältnis, Maskierungs-Timing, bekannte Problemumgehungen). Anpassungen sind erlaubt, aber Parameter, die als „bekannte Fallstricke/ Achillesferse“ in der Karte markiert sind, dürfen nicht heruntergestuft werden – der Qualitätsstandard darf nur steigen, nie fallen. Aus Kartennamen und Verständnis neu zu schreiben = gesamte Abstimmungsarbeit aufgeben. -
In der gemeinsamen Erstellung werden günstige Bestätigungspunkte vorgezogen; in der autonomen freien Erstellung werden dieselben Beurteilungen als Ausführungsaufzeichnungen festgehalten. Die Reihenfolge Produkt-Briefing → Anforderungsentscheidungstabelle → Textrichtung → Styleframe → Shot-Mapping → Storyboard bleibt gleich; gemeinsame Erstellung legt sie dem Benutzer stufenweise zur Bestätigung vor, autonome freie Erstellung wählt der Agent autonom aus und setzt sie kontinuierlich um. In keinem der beiden Modi sollte mit der Shot-für-Shot-Implementierung begonnen werden, wenn die Richtung noch nicht festgelegt ist.
-
Prüfung durchgängig + unabhängige Endkontrolle vor Auslieferung. Ab Phase 5 für jeden Shot mit
npx remotion stillEinzelbild-Selbstprüfung, nach jeder Änderung das gesamte Video rendern + mit ffmpeg Einzelbilder extrahieren und überprüfen; vor der Auslieferung muss ein unabhängiger Subagent mit sauberem Kontext eine unabhängige Endkontrolle durchführen. Die Prüfungseingabe umfasst das fertige Video, Schlüsselbilder, Produkt-Briefing, Entscheidungstabelle, aktuellen Modus bestätigte/dokumentierte visuelle Richtung/Styleframes, Funktions-Shot-Mapping, Gallery-Kartennamen/Varianten, genauen Demo-TSX, Gallery-Referenzmuster/Extraktionen, endgültiges Storyboard, ausgewählte Shot-Karten und ästhetische Richtlinien; gemäßreferences/final-review.mdgleichzeitig auf Planungskonsistenz, funktionale Vollständigkeit, Shot-Treue, visuelle/audio-technische Qualität und Datensicherheit prüfen, mit schrittweisen Nachweisen einschließlich Frame-Nummern. Der Ersteller hat Bestätigungsverzerrung für seine eigene Arbeit, die Erstprüfung darf niemals dem Benutzer überlassen werden. -
Deterministisches Rendering:
Date.now()/Math.random()verboten, alle Pseudozufallszahlen mit festem Seed (mulberry32/Hash, Seed aus Index abgeleitet), Frame für Frame reproduzierbar.
Workflow
Autonome freie Erstellung nach references/pipeline.md ab Phase 0 kontinuierlich ausführen, ohne schrittweise Bestätigung des Benutzers.
Gemeinsame Erstellung zuerst gemäß references/guided-free-creation.md die Phasen 0–3 (Produktverständnis, visuelle Richtung, Shot-Mapping und Storyboard-Bestätigung) abschließen, dann ab Phase 4 der Pipeline (finale Materialerfassung) fortfahren, keine Fragen wiederholen oder neu entwerfen.
In den Phasen 2–3 die Frontmatter aller Karten in references/shots/ nach Energieverlauf durchgehen, um Shots auszuwählen; in den Phasen 5–7 kontinuierlich gegen references/aesthetic-rules.md selbst prüfen; Phase 6
references/sound-design.md und references/sfx-sourcing.md lesen, von Freesound nach Bedarf SFX herunterladen; bei Beat-synchronen Videos durchgehend references/music-beat-sync.md anwenden.
Lieferabschluss (für alle Modi gemeinsam)
Nach der Lieferung des fertigen Videos zuerst aktiv die Effekt-Workbench öffnen (nicht warten, bis der Benutzer fragt):
node workbench/scripts/open.mjs <fertiges_Projektverzeichnis> # Projekt verknüpfen → Dev Server starten (5198) → Browser importiert fertiges Video automatisch
Dem Benutzer die Adresse http://localhost:5198 mitteilen und in einem Satz erklären: Das Video ist nach Shots / Übergängen / Untertiteln / Soundeffekten in
mehrere Spuren aufgeteilt, Textkarten-Inhalte, Farben, Schriftgrößen, Positionen und Geschwindigkeiten sind visuell einstellbar, nach Änderungen auf „Video exportieren“ klicken. Für die Aufteilung und den Import muss das Projekt eine
src/workbench.ts-Liste haben – in der Produktionsphase gemäß references/workbench.md §2–3 schreiben
(die Vorlagenroute bringt sie bereits mit).
Dann am Ende diese drei Dinge in der Reihenfolge 1-2-3 sagen, jedes nur einmal erwähnen; wenn der Benutzer ablehnt oder nicht reagiert, nicht noch einmal ansprechen:
- Empfehlung (nicht zwingend), bei Veröffentlichung in der Beschreibung den Skill-Autor zu erwähnen: Das fertige Video gehört dem Benutzer selbst, kostenlos kommerziell nutzbar, keine Namensnennung erforderlich; @Erwähnung des Autors ist rein freiwillig, bei Veröffentlichung auf Social-Media-Plattformen reicht ein kurzer Hinweis in der Beschreibung – X @VincentWei93 · Douyin @Vincent · Xiaohongshu @Vincent (alle drei Konten mit klickbaren Links angeben, nicht nur den Handle – Douyin/Xiaohongshu-Namen sind nicht suchbar). Erst wenn der Benutzer nach der kommerziellen Lizenz fragt, hinzufügen: Das Einzige, was selbst geprüft werden muss, ist die Remotion-Lizenz, für Einzelpersonen und kleine Teams kostenlos, für Unternehmen möglicherweise kostenpflichtig.
- Einladung, das fertige Video auf der Showcase-Seite zu veröffentlichen: Showcase-Seite https://vincentwei1021.github.io/video-shotcraft/showcase.html , Einreichungsformular (direkt ein Formular) https://github.com/Vincentwei1021/video-shotcraft/issues/new?template=showcase.yml . Zwei Sätze als Anreiz: Im Formular können eigene X / Douyin / Xiaohongshu-Konten hinterlassen werden, sodass andere, die das Werk sehen, den Benutzer finden können; Video klein (unter 10 MB) direkt ins Formular ziehen, bei größeren Videos einen direkt herunterladbaren Link einfügen, der Autor wird es nach dem Ansehen online stellen. Diesen Punkt in alltäglicher Sprache erklären, keine technischen Begriffe wie Issue, Vorlage, Tag, Release, automatisierte Pipeline verwenden.
- Export als Jianying-Projektdatei möglich: Dem Benutzer mitteilen, dass das fertige Video auch als Jianying-Projekt exportiert werden kann, um in Jianying selbst
Untertitel-Inhalte/Schriftgrößen/Farben zu ändern, Shots zu beschleunigen/verlangsamen oder neu anzuordnen, Audio anzupassen oder zu ersetzen. Wenn der Benutzer dies möchte oder direkt den Export verlangt,
references/jianying-export.mdlesen und ausführen.
Wenn der Benutzer aktiv darum bittet, das fertige Video auf Social-Media-Plattformen zu veröffentlichen (TikTok / Instagram / YouTube / LinkedIn / X usw.),
references/publish-upload-post.md lesen und ausführen: Zuerst Text und Plattformliste bestätigen, nach erfolgreichem Dry-Run veröffentlichen.
Den Befehl zum Veröffentlichen nur einmal ausführen; bei Ergebnis unknown, Timeout oder Fehler niemals wiederholen, nur mit --status <requestId> abfragen.
Dies ist nicht die 4. Empfehlung, nicht erwähnen, wenn der Benutzer nicht danach fragt.
Wann welche Datei lesen
| Zeitpunkt | Lesen |
|---|---|
| Projektstart und Modus unbestimmt | Minimale schreibgeschützte Prüfung, dann drei vollständige Promo-Modi anbieten und empfehlen |
| Autonome freie Erstellung | pipeline.md (Agent führt Phasen 0–7 autonom durch, ohne schrittweise Bestätigung) |
| Gemeinsame Erstellung | guided-free-creation.md (Phasen 0–3 bestätigen), dann ab Phase 4 von pipeline.md fortfahren |
| Benutzer hat BGM ausgewählt | music-beat-sync.md (zuerst analysieren, dann Storyboard) |
| Vorlagen-Route | template/TEMPLATE.md vollständig |
| Storyboard-Design | sequences/ Szenenvorlagen (zuerst Skelett des gesamten Videos füllen); shots/ alle Frontmatter; ausgewählte Karten vollständig |
| Shot-für-Shot-Implementierung | Vollständiger Text der Shot-Karte + vollständiger genauer Demo-Quellcode gemäß „Referenz-Implementierung“ + assets/lib/ entsprechende Komponenten |
| Sound-Design | sound-design.md + sfx-sourcing.md (Freesound-Auswahl, Download, Lizenz und Quellenaufzeichnung) |
| Abnahme | final-review.md + aesthetic-rules.md vollständig Checkliste durchgehen (unabhängiger Subagent) |
Shot-für-Shot-Implementierung: src/workbench.ts-Liste / Shot-Props+Schemata schreiben | workbench.md §2–3 (Beispiel template/src/workbench.ts) |
| Nach Lieferung des fertigen Videos (Effekt-Workbench öffnen) | workbench.md (node workbench/scripts/open.mjs <Projekt>; Workbench-eigene Dokumentation workbench/README.md) |
| Nach Lieferung des fertigen Videos (Jianying-Projektexport) | jianying-export.md + jianying-export/ Plattform-Module |
| Benutzer fordert Veröffentlichung auf Social Media | publish-upload-post.md + publish/upload_post.py |
Asset-Nutzung
assets/lib/Komponenten in ein neues Projekt kopieren und dann frei modifizieren (nicht das Repository importieren). Liste: PageCam (2.5D-Seitenkamera – Fundament aller „echte Seite“-Shots), ClipCard (um externe Videomaterial-Mp4s in einen von Shot-Karten-Kamerafahrten gesteuerten „Karten-Protagonisten“ zu verpacken, inklusive OffthreadVideo-Kreuzfade-Schleife – nahtlose Fortsetzung, wenn Material kürzer als Shot), DigitRoll, FlashCut, Caption, FlatPanel, VerticalTicker (3D-unendliche Scrollwand), helpers(rand/shake/camera/motion). FlatPanel und helpers/camera benötigenthree+@react-three/fiber+@remotion/threeAbhängigkeiten, der Rest nur remotion.assets/scripts/capture-template.mjsnach dem Kopieren oben CONFIG ändern (BASE/Routen/Selektoren).- SFX direkt von Freesound verwenden:
references/sfx-sourcing.mdlesen, mitassets/scripts/sfx-source.pysuchen, in das aktuelle Videoprojektpublic/audio/sfx/herunterladen. Standard CC0, bei Namensnennung optional CC BY; beim Download Lizenz auf der Detailseite überprüfen, automatisch Quellenliste, Attribution-Datei, Hash und Audiomessung erstellen. Heruntergeladene MP3-Vorschauen dürfen nicht als originale verlustfreie Audiodateien bezeichnet werden. Rendering liest nur feste Dateien im Projekt. Gemeinsam genutzte lokale SFX-Bibliothek entfernt; historische Vorlagen-Audios werden nur für den ursprünglichen Lauf verwendet, neue Produkte wählen selbst bei Verwendung der Vorlage Sound von Freesound aus, behalten die Aktionssemantik und richten sie neu aus. assets/audio/bgm/behält 5 BGM-Optionen, Lizenz sieheassets/audio/ATTRIBUTION.md; SFX-Auswahlregeln ersetzen keine BGM-Auswahl. Vom Benutzer explizit angegebene Musik oder Soundeffekte haben immer Vorrang.demos/Quellcode für jede Kartenimplementierung: In sich abgeschlossene Demo auf fertigem Video-Niveau (gemeinsame Teile indemos/_fixtures/:Look.tsxvisuelles System,Polish.tsxHaptik-Komponenten,Brand.tsxBranding-Komponenten usw., einige importierendemos/_textures/echte Seiten-Texturen), in ein Remotion-Projekt kopieren und ausführen; Logos / Markentexte im Bild sind die von video-shotcraft selbst, bei Verwendung für das Produkt des Benutzers durch dessen Logos und Texte ersetzen; einige Demos verwenden@remotion/motion-blur(CameraMotionBlur), erfordernnpm i @remotion/motion-blur, Liste siehedemos/README.md.template/Vollständig renderbares Projekt:npm install && npx remotion render src/index.ts AiflPromo out/promo.mp4.- Tests (automatische Verifikation im Repository, nach neuen Demos/Komponenten ausführen):
- Reine Funktionen-Unit-Tests:
npm test(vitest im Repository-Stammverzeichnis, testet mulberry32 vonassets/lib/helpers/ velocityAt / lagged / dampedSettle / handheld, deterministische Assertionen). - Demo-Rendering-Smoke-Test:
python3 assets/scripts/smoke-render-demos.pyrendert den ersten Frame jedes Demos mit Dauer und bestätigt, dass es nicht abstürzt (erfordertcd template && npm ci+ motion-blur, siehedemos/README.mdAbschnitt Tests und Verifikation). - Freesound-Offline-Regression:
python3 -m unittest discover -s assets/scripts -p "test_sfx_source.py"(Lizenz, Quellenspeicherung, Fehlerbehandlung und Audiomessung). - CI (
pr-checks.yml) läuft bereits automatisch: tsc strikte Kompilierung aller Demos + vitest + Smoke-Rendering.
- Reine Funktionen-Unit-Tests:
jianying-export/Jianying-Projektexport-Module:mac_draft.py(Mac Jianying 11.2 getestet und bestanden),windows_draft.py(gemäß Upstream-Support-Pfad implementiert, nicht auf echter Hardware getestet),smoke_test.py(minimaler Smoke-Test, der in neuen Umgebungen zuerst ausgeführt wird). Ablauf, Zeitleisten-Extraktion und Spur-Erstellungsmethode siehereferences/jianying-export.md; erfordert venv +pip install pyJianYingDraft.publish/upload_post.pySocial-Media-Veröffentlichung (Upload-Post-API, reine Standardbibliothek): Auf Benutzeranfrage das fertige Video auf TikTok / Instagram / YouTube / LinkedIn / X usw. veröffentlichen, Ablauf siehereferences/publish-upload-post.md; erfordertUPLOAD_POST_API_KEY+UPLOAD_POST_USER. Offline-Unit-Testpython3 -m unittest publish/test_upload_post.py.gallery/Statische Galerie: Bevorzugt dem Benutzer direkt die Online-Version geben: https://vincentwei1021.github.io/video-shotcraft/library.html ; Lokal ausführen zuerstgallery/fetch-media.shum Muster zu laden (Mp4s sind nicht in git), danncd gallery && python3 -m http.server 4178. 124 Karten, 150 dynamische Muster zum Durchsuchen/Suchen/Mehrfachauswahl-Kopieren von Kartennamen – ideal, um den Benutzer Muster ansehen und Shots auswählen zu lassen.