Remotion Video Builder
Ihr Remotion-Wissen könnte veraltet sein. Wenn genaues API-Verhalten wichtig ist, bevorzugen Sie den offiziellen MCP-Server remotion-documentation oder die Dokumentation unter remotion.dev.
Hier starten
- Wenn das Projekt noch nicht existiert, richten Sie es mit
npx create-video@latestein und bevorzugen Sie die leere Vorlage. - Halten Sie alle Pakete
remotionund@remotion/*auf exakt derselben Version und vermeiden Sie Caret-Bereiche. - Standardeintragsform:
src/index.tsruftregisterRoot()aufsrc/Root.tsxregistriert alle Videos mit<Composition>oder<Still>
Baurichtung
- Modellieren Sie zuerst den Eingabevertrag:
- Props-Schema der obersten Ebene
- Zeitlinien- oder Ereignisdaten
- Renderprofil
- Definieren Sie freigegebene Props mit
zodund übergeben Sie das Schema an jedes<Composition>. - Verwenden Sie
calculateMetadata, umdurationInFrames,width,height, transformierte Props unddefaultOutNameabzuleiten. - Bauen Sie die Szenenstruktur mit
<Series>für narrative Reihenfolge und<Sequence>für Overlays, Einblendungen, Footage-Fenster und Hinweise auf. - Setzen Sie in Remotion v4.x-Projekten explizit
premountForauf<Sequence>-Elemente, die geladene Assets benötigen, bevor sie erscheinen. - Fügen Sie Beispieldaten und Render-Skripte hinzu, bevor Sie die Animation verfeinern.
Standards und Regeln
- Standardmäßig
fps={30}und1920x1080im Querformat, sofern die Vorgabe nichts anderes besagt. - Verwenden Sie
AbsoluteFillfür das Schichten von Elementen. - Verwenden Sie
staticFile()für alles auspublic/. - Verwenden Sie
useCurrentFrame()unduseVideoConfig()für frame-basierte Logik. - Bevorzugen Sie subtile Bewegungen:
spring()mit hoher Dämpfunginterpolate()mit Begrenzung
- Verwenden Sie kein
Math.random(). Verwenden Sierandom(seed)ausremotion. - Halten Sie Textanimationen einfach und lesbar.
- Halten Sie Querformat- und Hochformat-Ausgaben auf derselben Geschäftslogik, es sei denn, die Vorgabe erfordert tatsächlich eine Abweichung.
Checkliste für parametrisierte Videos
- Ein freigegebenes
z.object()-Schema der obersten Ebene defaultPropspassend zur Props-Form der KomponentecalculateMetadatagibt dynamische Dauer oder Abmessungen zurück, wenn die Eingaben dies erfordern- Beispiel-JSON- oder TypeScript-Daten für die lokale Vorschau
- Render-Skripte für jede Zielausgabe
Footage-Strategie
Unterstützen Sie mindestens diese Modi, wenn Footage optional ist:
noneplaceholderreal
Die Zeitlinie und Overlays sollten auch dann rendern, wenn kein echtes Footage vorhanden ist.
Millrace-Launch-Video
Wenn es um Millrace oder die Launch-Video-Pipeline geht, lesen Sie references/millrace-launch-video.md vor der Implementierung.