YouTube動画をクリックしてから映像が流れるまで
YouTubeでは、動画のサムネイルをクリックすると、ほとんど待つことなく映像が再生されます。しかし、その数秒の間には、世界中のネットワークを経由して動画データを取得し、画質を決定し、映像と音声を再生するまでの多くの処理が行われています。
この記事では、YouTube動画をクリックしてから映像が流れ始めるまでの流れを、順番にわかりやすく解説します。
動画をクリックします
すべては、見たい動画のサムネイルやタイトルをクリックするところから始まります。
ブラウザやYouTubeアプリは、
「この動画を再生したい」
という情報をYouTubeへ送る準備を始めます。
動画には一つひとつ固有のIDが割り当てられており、そのIDをもとに目的の動画を特定します。
YouTubeへ動画の再生を要求します
クリックすると、ブラウザはYouTubeへ
「この動画を再生したい」
というリクエストを送信します。
YouTubeは世界中に巨大なサーバー群を持っており、そのリクエストは最も効率よく応答できるサーバーへ届けられます。
ログインしている場合は、視聴履歴や年齢制限、プレミアム会員かどうかなども確認されます。
動画の情報を取得します
動画本体を送る前に、YouTubeは動画に関するさまざまな情報を返します。
例えば、
- 動画の長さ
- タイトル
- サムネイル
- 利用できる画質
- 字幕の有無
- 音声データの種類
などです。
この情報をもとに、ブラウザは動画を再生する準備を始めます。
最適な画質を決定します
YouTubeでは、動画を毎回同じ画質で配信しているわけではありません。
ブラウザやアプリは、
- 現在の通信速度
- 端末の性能
- 画面の解像度
- ユーザーの設定
などを考慮し、
360p
720p
1080p
4K
などの中から、最適と思われる画質を選択します。
通信速度が十分に速ければ高画質が選ばれ、遅い場合は途中で止まらないよう低画質から再生されることがあります。
最初の動画データを受信します
画質が決まると、YouTubeは動画全体ではなく、最初に再生する数秒分だけを送信します。
これは「ストリーミング配信」と呼ばれる仕組みです。
映画1本分をすべてダウンロードしてから再生を始めるのではなく、必要な分だけ少しずつ受信することで、待ち時間を大幅に短縮しています。
このとき表示される読み込み中のマークは、最初の再生に必要なデータを受信している時間です。
動画と音声をデコードします
送られてきた動画データは、そのままでは人が見られる映像ではありません。
動画や音声は、容量を小さくするために圧縮されています。
ブラウザやアプリは、
動画データを映像へ、
音声データを音へ、
それぞれ元の状態へ展開します。
この処理をデコードといいます。
また、映像と音声がずれないよう、タイミングを合わせる処理も同時に行われています。
映像と音声を再生します
必要な準備が整うと、動画の最初の映像が画面へ表示されます。
同時に音声も再生され、
私たちが普段見ているYouTube動画が始まります。
ここまでの一連の処理は、通常わずか数秒以内に完了します。
動画を再生しながら続きを受信します
動画は最初の数秒だけ受信して終わりではありません。
再生が始まった後も、ブラウザは動画の続きを少しずつ受信し続けています。
もし通信速度が十分に速ければ、動画データは再生よりも速いペースで蓄えられていきます。
反対に、通信速度が遅くなると受信が追いつかなくなり、一時停止して読み込みが行われます。
これが一般的に「バッファリング」と呼ばれる現象です。
YouTubeは通信速度の変化に応じて画質を自動的に変更しながら、できるだけ動画が止まらないよう調整しています。
まとめ
YouTube動画は、クリックした瞬間に再生されているように見えますが、その裏側では、
動画をクリック → 再生要求 → 動画情報取得 → 画質決定 → 最初の動画データ受信 → デコード → 映像と音声を再生 → 再生しながら続きを受信
という多くの処理が高速で行われています。
この仕組みがあるからこそ、私たちは世界中の動画を、ほとんど待つことなく快適に視聴できるのです。
