今日のテーマは「生成した動画を、スクロールで再生するWebサイト」の作り方です。AIで作った短い動画を静止画の連番(コマ送り)に変え、スクロール量と再生位置を結びつけると、Apple製品ページのような没入感が出ます。手順、実装の選択肢、軽量化の注意点をまとめます。

「生成→コマ送り」とは
流れは単純です。①画像生成AIや動画生成AIで数秒の映像を作る、②FFmpegで数十〜百数十枚のWebP連番に書き出す、③ページ側でスクロール位置に応じて表示するコマを切り替える。動画タグのシーク再生より滑らかに逆再生もでき、ブラウザ差も出にくい点が利点です。
この手法を「リバースポートフォリオ」と呼んで紹介する記事もあります。先に見せたい体験を設計し、サイトを後から組む発想です。Midjourneyの画像をつないで動画にし、Seedance 2.5で動かし、Claudeにサイトを組ませる流れが解説されています(HalfJourney Lab、Medium会員限定記事)。
手順を5ステップで
| ステップ | やること | ポイント |
|---|---|---|
| 1. 映像を作る | 生成AIで3〜8秒の映像を作る | カメラは一方向の動きに絞る。背景は単純にする |
| 2. 連番にする | FFmpegでフレームを書き出す | 12〜24fps程度に間引き、幅は1280px前後に |
| 3. 軽量化する | WebPに変換する | 総容量の目安を決め、先頭コマから先に読む |
| 4. 実装する | canvasに描画しスクロールと連動 | GSAPのScrollTriggerでピン留めするのが定番 |
| 5. 検証する | スマホ・低速回線・動きを減らす設定で確認 | 静止画フォールバックを用意する |
FFmpegで連番を書き出す例
ffmpeg -i hero.mp4 -vf "fps=15,scale=1280:-2" -c:v libwebp -quality 75 frames/f_%04d.webp
fps・scale・quality の3つを調整すれば、容量と滑らかさのバランスを取れます。ClaudeなどのAIコーディングツールには「frames/ の連番をcanvasで描画し、ScrollTriggerのscrubで進行させて」と依頼すると、骨組みは短時間で出ます。
スクロール連動の実装を選ぶ
GSAP ScrollTriggerは、ピン留め・scrub・位置計算が安定していて、複雑な演出向きと評されています(Annnimateの比較)。一方、CSSのスクロール駆動アニメーションは宣言的に書けますが、MDNではanimation-timelineなどがまだBaselineではなく、SafariやFirefoxの対応は確認が必要とされています(Egnworks)。
| 方式 | 向く場面 | 注意点 |
|---|---|---|
| GSAP ScrollTrigger + canvas | 連番再生、ピン留め、複数演出の同期 | JSの読み込みが増える |
| CSS animation-timeline | フェードイン、進捗バーなど軽い演出 | 未対応ブラウザでは動かない。@supportsで囲む |
連番再生の場面では、ブラウザ差を気にせず済むGSAP側が無難です。CSSは周辺の小さな演出に使い分けるとよいでしょう。

AIにサイトごと任せる選択肢
スクロール演出をスキルとして渡す例もあります。Scroll Craftは、階層化したヒーロー、モバイル用の別構図、動きを減らす設定時の見え方までを検証する指針をまとめたエージェントスキルです。自分でゼロから書く前に、考え方の参考になります。
落とし穴と対策
- 容量:100枚×100KBで約10MBです。モバイル用は枚数と解像度を減らした別セットにする。
- 読み込み:先頭コマを即表示し、残りは裏で順次読む。完了前にスクロールされても止まらない作りに。
- アクセシビリティ:
prefers-reduced-motionの場合は静止画1枚にする。 - 「AIっぽさ」:生成映像は破綻しやすい。コマを確認し、不自然な箇所は撮り直す。
- 権利:生成ツールの商用利用条件と、使う素材の権利を確認する。
このサイトで過去に扱ったCSSで足りる演出とGSAP/Three.jsの線引きの記事と併せて読むと、「どこまで軽く済ませ、どこから連番にするか」を判断しやすくなります。
主な情報源
- I Built a “Reverse Portfolio” With Midjourney and Claude(HalfJourney Lab / Medium)
- CSS scroll-driven animations(MDN)
- Scroll Driven Animations in CSS(Egnworks)
- GSAP vs CSS animations(Annnimate)
- Scroll Craft(AI UX Playground)
- Cinematic Website Examples(DappaSol)
各ツール・サービスは提供元の規約に従ってご利用ください。情報は各情報源の公開時点のものです。収集・要約はAI、公開判断は人。