動画ストリーミングのしくみ
動画は、短い区切りで少し先まで読み込まれます。回線の速さを変えて、画質を自動で切りかえる仕組み(ABR)がある動画と、ない動画のどちらが止まりにくいか比べましょう。
画質を自動で選ぶ(ABR)
先読み 0秒分 読み込み待ち
次に取る画質 低(0.5 Mbps)
止まった回数 0 ・ 止まっていた時間 0秒 ・ 再生 0秒
画質を固定
先読み 0秒分 読み込み待ち
次に取る画質 高(3 Mbps)
止まった回数 0 ・ 止まっていた時間 0秒 ・ 再生 0秒
学習用に簡単にした模型です。区切り4秒・画質の梯子・秒数はモデルの仮の値です。
遊び方
目標は、動画が止まりにくいのはどちらかを見つけることです。「スタート」を押すと、2本の動画が同じ回線で再生されます。上は画質を自動で選ぶ(ABR)動画、下は画質を固定した動画です。回線の速さのスライダーを動かして、先読みの量がどうなるか見てください。先読みが0秒になると、動画は止まります。Mbps は、1秒に流れるデータの量です。「自動」を押すと、回線が速い、急に遅くなる、回復する、という流れを通して見せます。
もっと知る
動画配信は、動画を数秒の短い「セグメント」に区切り、順番に取りにいきます。プレイヤーは再生位置より少し先まで読み込んで「バッファ」にためておき、回線が少し揺れても止まらないようにします。バッファが空になると再生が止まり(ストール)、ある程度たまってから再開します。画質(ビットレート=1秒あたりのデータ量)を上げるほどきれいですが、データが多く、回線が追いつかなくなります。そこで、回線の速さやバッファの量を見て、次のセグメントの画質を選ぶ「ABR(適応ビットレート)」が使われます。この画面の規則は学習用に単純化したもので、直前のセグメントから回線の速さを見積もり、その0.8倍以下でいちばん高い画質を選びます。下げるときはすぐ、上げるときは1段ずつで、バッファが少ないうちは上げません。実際のプレイヤーの方式はさまざまで、ここと同じとは限りません。HTTP の上で短い区切りを配る方式としては、HLS(RFC 8216 に記述。標準規格ではなく、情報提供の文書です)や MPEG-DASH(ISO/IEC 23009-1、初版は2012年)が知られています。HTTP なら通常の Web と同じ経路で配信できます。画面の区切りの長さ(4秒)、画質の梯子(0.5・1.5・3・6 Mbps)、先読みの量の上限などは、すべてこのモデルの仮の値です。止まる原因として、この画面は回線の遅さだけを扱っています。学習用に簡単にした模型です。