mcpField
T
timeline-layout-reveal

timeline-layout-reveal

github.com/remotion-devクリエイティブ・メディア68.6k94 回インストール今日更新
リポジトリ

timeline-layout-reveal について

timeline-layout-reveal は、タイムラインの変更前後を見せる動画を作る内部向け Remotion スキルです。スクリーンショット撮影、決定論的なワイプアニメーション、レンダリング、書き出し後の確認を案内します。

主な機能

  1. 01変更前後の画角を合わせて撮影
  2. 02ビューポートとタイムラインの構図設定
  3. 03決定論的な画像ワイプの作成
  4. 04Remotion による MP4 レンダリング
  5. 05書き出した動画のフレーム確認

活用シーン

  1. 01タイムラインのレイアウト変更を提示
  2. 02スクリーンショットからワイプ動画を作成
  3. 03比較動画の位置合わせを確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/remotion-dev/remotion --skill timeline-layout-reveal

インストール後、Claude Code で/timeline-layout-revealを入力して読み込まれたか確認します。

詳細

タイムラインレイアウトのリビール

packages/brand/src/TimelineLayoutReveal.tsx と、その packages/brand/src/Root.tsx への登録を使用します。スクリーンショットは packages/brand/public/timeline-reveal/before.png と after.png に保存します。

キャプチャの一致

packages/jonnys-videos から、指定された構図をキャプチャします。bunx remotion studio --no-open --port=<free-port> で Studio を起動し、表示された URL を開きます。既存のリビールには、RollerSkiCommute-new のフレーム 2025(牛のクローズアップ)を使用します。コンポジションが変更されている場合は、そのフレームに引き続き牛が表示されることを確認します。

承認済みのフレーミングは、デバイススケールファクター 2 の 1280 × 800 CSS ビューポートと、336 ピクセルのタイムラインパネルです。これにより、MacBook のような 16:10 のスクリーンショットになり、タイムラインは元の 480 ピクセルのパネルより 30%短くなります。ユーザーから別のフレーミングを指定された場合は、これらの値を調整します。2 倍のキャプチャには 2560 × 1600 ピクセルが必要です。CSS ビューポートのサイズだけを変更しても不十分です。

キャプチャ間でビューポート、パネルの分割、タイムラインのズーム、スクロール位置、再生ヘッド、選択範囲を同一に保ちます。横方向の全尺が表示されるようズームアウトします。コンポジションのプレビューを表示したままにする場合は Studio のビューポート全体をキャプチャし、指定された場合はタイムラインのみをキャプチャします。ホバーによるフィードバックやツールチップが表示されないよう、ポインターをタイムラインから離します。

コンポジション、タイムラインのアクティビティスキャン、サムネイル、波形の読み込みが完了するまで待ちます。レンダリング遅延ハンドルが空であることだけでは、タイムラインメディアの読み込み完了を確認できません。最終キャプチャを保存する前に、スクリーンショットを確認します。

過去の before 表示

両方のリビジョンでフラグとソースを確認します。現在の main ではトラックがデフォルトで有効になっているため、現在の main でシーケンスアクティビティを無効にしても、元の階段状レイアウトは再現されません。既存の before キャプチャでは、リビジョン 836e5f3597f90cb7b24a5de89b501e89942b0f41 の実験的トラックとシーケンスアクティビティを両方とも無効にしていました。指定された比較に応じて、別のベースラインを選択します。

ベースラインのリビジョンを使用できる既存のチェックアウト、または一時的な管理対象ワークツリーを使用します。新規にチェックアウトする場合は、Studio の起動前に bun install と bunx turbo run make --filter='@remotion/jonnys-videos...' を実行します。CLI の依存関係だけをビルドすると、フォント、ノイズ、レイアウトユーティリティが不足します。

ポートが異なると、ブラウザーのストレージも別になります。両方の Studio でフレーミングと再生ヘッドを明示的に一致させます。ベースラインサーバーを終了して一時的な管理対象ワークツリーをアーカイブする前に、保存済みのスクリーンショットを作業中の brand プロジェクトにコピーします。一時的に変更した設定は元に戻します。依頼があった場合にのみ main から更新します。

リビールと納品

ユーザーから追加コンテンツを求められない限り、2 枚のスクリーンショットレイヤーのみを使用します。before 画像を after 画像の下に配置します。useCurrentFrame() を使って取得した値を基に、インラインの interpolate() で after 画像の cropRight を 1 から 0 までアニメーションさせ、両端でクランプします。ワイプを決定論的にレンダリングし、Studio で編集できるように、CSS アニメーションではなく crop props を使用します。

コンポジションの寸法をスクリーンショットのピクセル寸法に合わせます。既存のリビールは 60 fps で 6 秒です。最初の 1.2 秒は before を表示し、3.8 秒までワイプし、その後は after を表示します。依頼に応じてタイミングを維持または調整します。

remotion-render に従い、packages/brand からレンダリングします。

bunx remotion render src/index.ts TimelineLayoutReveal ../../out/timeline-layout-reveal.mp4 --codec=h264 --crf=16 --image-format=png --pixel-format=yuv420p --concurrency=4

書き出した動画の冒頭、中間、末尾を確認し、プレビューと再生ヘッドの位置が一致したままで、タイムラインだけが変化していることを確認します。変更したソースファイルに対して、対象を絞ったフォーマットチェックと lint チェックを実行します。

スマートフォンで視聴できるようにする場合は、upload-r2 に従い、レンダリングした MP4 を一意なコンテンツハッシュ付きキーでアップロードし、公開 URL を確認して、直接視聴できるリンクを返します。ユーザーが brand 内での保持を求めた場合は、ローカルのスクリーンショットも保持します。このワークフロー自体は、コミット、プッシュ、PR を依頼するものではありません。

コメント