本文へスキップ

ウェブサイトから動画を作る:ページを自動スクロールさせる方法

収録中にウェブページを自動でスクロールさせる 3 つの方法。ブラウザの自動スクロール、コピーして使えるコンソール用スクリプト、そしてレンダラー。適切な速さと、使うべきカーブも解説します。

Aviral Lakhanpaul 更新5 分で読めます

結論から

手でスクロールしないことです。録画ツールを回しているあいだに、決めた時間をかけてイージングカーブに沿ってページをスクロールする短いスクリプトをブラウザのコンソールに貼るか、スクロールを計算して録画ツールなしで動画を組み立てるレンダラーに URL を渡します。ペースの目安は、ページの 1 画面分につき約 2 秒です。

自動スクロールの 3 つの方法

動画用にウェブページを自動スクロールさせる方法
方法速さの調整イージング録画ツール
ブラウザの自動スクロール(中クリック)ポインターを使って手でなし必要
コンソール用スクリプト秒単位で正確に書けばどんなカーブでも必要
URL から動画を作るレンダラー秒単位で正確にプリセットから選ぶ不要

ブラウザの自動スクロールは、Windows や Linux で中クリックすると始まるモードです。いちばん手軽ですが、いちばん役に立ちません。速さはクリックした位置からポインターがどれだけ離れているかで決まるのでふらつきますし、操作するにはポインターが画面に映っていなければなりません。ざっと撮るだけなら十分ですが、公開する動画には向きません。

ページを代わりにスクロールしてくれるスクリプト

ページを開き、DevTools を開いて(F12、Mac なら ⌥ ⌘ I)、これを Console に貼って Enter を押します。録画ツールを始められるように 3 秒待ってから、設定した時間をかけて、ease-in-out のカーブに沿って上から下までスクロールします。

コンソール用スクリプト:ページ全体をなめらかにスクロールする
const SECONDS = 20;        // スクロールにかける時間
const WAIT = 3;            // 録画を始めるまでの時間

document.documentElement.style.scrollBehavior = 'auto';
window.scrollTo(0, 0);

const end = document.documentElement.scrollHeight - innerHeight;
const ease = (t) => (t < 0.5 ? 4 * t ** 3 : 1 - (-2 * t + 2) ** 3 / 2);

setTimeout(() => {
  const start = performance.now();
  const step = (now) => {
    const t = Math.min(1, (now - start) / (SECONDS * 1000));
    window.scrollTo(0, end * ease(t));
    if (t < 1) requestAnimationFrame(step);
  };
  requestAnimationFrame(step);
}, WAIT * 1000);
  • scrollBehavior = 'auto' が重要です。多くのサイトは scroll-behavior: smooth を設定していて、スクリプトによる小さな移動の一つひとつが個別のアニメーションになり、カクつきがそのまま戻ってきてしまいます。
  • requestAnimationFrame は画面に表示されるフレームごとに 1 回ページを動かすので、ディスプレイが許す限り均一なスクロールになります。
  • 実行する前に一度、手でいちばん下までスクロールして戻しておきましょう。遅延読み込みの画像があらかじめ表示され、テイクの途中でページの高さが変わりません。
  • Lenis や Locomotive Scroll のようなスムーズスクロール用ライブラリで作られたサイトは、スクロールを自前で処理しているため、スクリプトとぶつかることがあります。ページがガクッと動くなら、それが原因です。

あるいは、録画ツールをまるごと省く

スクリプトを使っても、フレームレートは録画ツールとパソコン次第です。レンダラーならその両方がなくなります。Website Scroll Video はページ全体を一度読み込み、24・30・60 fps の固定フレームレートの動画で、各フレームでページがどこにあるべきかを計算します。そのため、重いページでもフレームが落ちず、長いページでもずれていきません。設定するのはスクリプトと同じく秒数とカーブで、費用をかける前に結果をプレビューできます。

スクロールの速さはどのくらいが適切?

ページの長さを「画面数」で測ります。ページ全体の高さをウィンドウの高さで割った値です。一般的なランディングページは 5〜8 画面分あります。そのうえで、次を目安にします。

目的別のスクロールのペース
目的1 画面あたりの秒数8 画面分のページなら
ティーザーや SNS 用の短い動画約 1 秒8 秒
ポートフォリオや作品紹介約 2 秒16 秒
読ませる紹介動画3 秒以上、または一時停止を入れる24 秒以上

1 秒に 1 画面より速いと、文字が流れてぼやけます。30 fps や GIF ではなおさらです。1 画面に 3 秒より遅いと、見る人の集中が途切れます。ほかより大事なセクションがあるなら、ページ全体を遅くするより、そこで一時停止するほうが効果的です。Website Scroll Video では最大 6 か所、それぞれ 0.5 秒から 5 秒まで止められます。

どのイージングカーブを使うか

  • スムーズ(ease-in-out)。 静止から動き出し、一定の速さで進み、静かに止まります。初期値にふさわしいカーブで、始まりも終わりも、ぶつ切りではなく意図した動きに見えます。
  • グライド(ease-out)。 勢いよく動き出し、トラックパッドをはじいたときのように惰性で止まります。勢いよく始めたい短いティーザーに向いています。
  • 等速。 最初から最後まで同じ速さ。ペースの変化が目を引いてしまう背景用のループに最適です。
  • パルス。 1 セクション分動いて落ち着き、また動きます。サイトをページごとにめくっていくように見えるので、製品ツアーに合います。

ループさせる

下までスクロールしてから先頭に切り替わる動画は、ループのたびに目に見えて飛びます。代わりに、同じカーブで下へスクロールして上へ戻しましょう。最後のフレームが最初のフレームと一致し、継ぎ目のないループになります。Website Scroll Video では再生の「下へ、そして戻る」がこれに当たり、戻る前にいちばん下で、ループが再び始まる前にいちばん上で、それぞれ静止を入れることもできます。

あなたのサイトで試してみる

リンクを貼れば、スクロールのプレビューは無料です。登録すると 51 クレジットが無料で付き、クレジットカードは不要。書き出した動画にウォーターマークは入りません。

最近の検索

    よくある ご質問

    次によく聞かれることに、手短に答えます。

    お問い合わせ
    ウェブページを自動でスクロールさせるには?

    ブラウザ自体の自動スクロールなら、中クリックしてポインターを動かします。あるいは、イージングカーブに沿って 1 フレームごとに window.scrollTo を呼ぶ短いスクリプトを DevTools のコンソールに貼ります。動画用なら、スクリプトのほうがはるかに均一です。

    Chrome に自動スクロールの設定はありますか?

    Windows と Linux の Chrome は中クリックによる自動スクロールに対応していますが、速さはポインター次第です。時間を指定してスクロールする機能は組み込まれていません。拡張機能で追加するか、コンソール用スクリプトか URL レンダラーを使ってください。

    ウェブサイトのスクロール動画をなめらかにループさせるには?

    ページの下から上へ切り替えるのではなく、同じカーブで下へスクロールしてから上へ戻し、最後のフレームを最初のフレームと一致させます。

    Website Scroll Video のロゴ。ブラウザウィンドウ内のウェブページに再生ボタンが重なっている。

    録画の時間を減らし、つくる時間を増やす。

    カスタマイズできる動き、賢いコントロール、そして今のクリエイターのための書き出しオプションで、サイトの収録を自動化します。