Remotion Video Builder
あなたのRemotion知識は古くなっている可能性があります。正確なAPI動作が重要な場合は、公式の remotion-documentation MCPサーバーまたは remotion.dev のドキュメントを優先してください。
はじめに
- プロジェクトがまだ存在しない場合は、
npx create-video@latestでスキャフォールディングし、ブランクテンプレートを優先してください。 - すべての
remotionおよび@remotion/*パッケージは完全に同じバージョンに保ち、キャレット範囲は避けてください。 - 標準的なエントリー構造:
src/index.tsがregisterRoot()を呼び出すsrc/Root.tsxがすべての動画を<Composition>または<Still>で登録する
構築順序
- 最初に入力コントラクトをモデル化する:
- トップレベルのプロップスキーマ
- タイムラインまたはイベントデータ
- レンダープロファイル
zodで共有プロップスを定義し、各<Composition>にスキーマを渡します。calculateMetadataを使用して、durationInFrames、width、height、変換されたプロップス、およびdefaultOutNameを導出します。<Series>でナラティブ順序を、<Sequence>でオーバーレイ、エントランス、フッテージウィンドウ、コールアウトを構築します。- Remotion v4.x プロジェクトでは、表示前にアセットをロードする必要がある
<Sequence>要素に対して、premountForを明示的に設定します。 - アニメーションを磨く前に、サンプルデータとレンダースクリプトを追加します。
デフォルトとルール
- 特に指定がない限り、ランドスケープの場合は
fps={30}と1920x1080をデフォルトにします。 - レイヤリングには
AbsoluteFillを使用します。 public/からのファイルにはstaticFile()を使用します。- フレームベースのロジックには
useCurrentFrame()とuseVideoConfig()を使用します。 - 控えめなモーションを優先:
- 高いダンピングを使用した
spring() - クランプを使用した
interpolate()
- 高いダンピングを使用した
Math.random()は使用しないでください。remotionのrandom(seed)を使用してください。- テキストアニメーションはシンプルで読みやすく保ちます。
- 特に要件が真に分岐を必要としない限り、ランドスケープとポートレートの出力は同じビジネスロジックに保ちます。
パラメータ化された動画チェックリスト
- 1つの共有トップレベル
z.object()スキーマ - コンポーネントのプロップス形状に一致する
defaultProps - 入力が必要な場合に動的なdurationまたは寸法を返す
calculateMetadata - ローカルプレビュー用のサンプルJSONまたはTypeScriptデータ
- すべてのターゲット出力に対するレンダースクリプト
フッテージ戦略
フッテージがオプションの場合、少なくとも以下のモードをサポートします:
noneplaceholderreal
実際のフッテージが存在しない場合でも、タイムラインとオーバーレイはレンダリングされる必要があります。
Millrace 起動動画
リクエストがMillraceまたは起動動画パイプラインに関するものである場合は、実装前に references/millrace-launch-video.md を読んでください。
参考文献
出典: hashgraph-online/awesome-codex-plugins → plugins/tim-osterhus/codex-remotion-plugin/skills/remotion-video-builder/SKILL.md