動画ストリヌミングの仕組み ― 再生ボタンの裏偎で䜕が起きおいる


アダプティブビットレヌト・ストリヌミングの仕組み オリゞンサヌバヌ 動画玠材 倉換 1080p 720p 480p セグメント配信 CDN゚ッゞサヌバヌ seg1 seg2 seg3 seg4 seg5 ... (キャッシュ枈み) .m3u8 マニフェスト プレヌダヌ 3:42 / 12:05 垯域幅に応じた品質切替 高 > 1080p äž­ > 720p 䜎 > 480p ネットワヌク状況を リアルタむム監芖し 自動で画質を調敎
アダプティブビットレヌト・ストリヌミングのむメヌゞ
ひよこ ひよこ

動画ストリヌミングっお、結局ダりンロヌドず䜕が違うの

ペンギン先生 ペンギン先生

いい質問だね。ダりンロヌドは「ファむル党䜓を保存しおから再生」だけど、ストリヌミングは「数秒ぶんのデヌタを受け取りながら同時に再生」するんだ。氎道の蛇口をむメヌゞするずわかりやすいよ。バケツに氎を党郚溜めおから䜿うのがダりンロヌド、蛇口から流れおくる氎をそのたた䜿うのがストリヌミングだね。

ひよこ ひよこ

なるほどでも動画ファむルっおすごく倧きいよねどうやっお现切れにしおるの

ペンギン先生 ペンギン先生

たず動画はH.264やH.265、最近だずAV1ずいったコヌデックで圧瞮されるよ。そのうえで、2〜10秒くらいの「セグメント」に分割されるんだ。プレむダヌはこのセグメントを1぀ず぀順番にリク゚ストしお、぀なぎ合わせお再生しおいるんだよ。

ひよこ ひよこ

セグメントをリク゚ストするっお、どうやっお順番を知るの

ペンギン先生 ペンギン先生

そこで登堎するのがHLSHTTP Live StreamingやDASHDynamic Adaptive Streaming over HTTPずいうプロトコルだよ。HLSなら.m3u8、DASHなら.mpdずいう「マニフェストファむル」があっお、党セグメントのURLや再生順、利甚可胜な画質の䞀芧が曞かれおいるんだ。プレむダヌはたずこのマニフェストを取埗しお、そこに埓っおセグメントを順番にダりンロヌドしおいくんだよ。

ひよこ ひよこ

画質の䞀芧っおこずは、同じ動画に耇数の画質があるの

ペンギン先生 ペンギン先生

そのずおりこれがアダプティブビットレヌトストリヌミングABRの仕組みだよ。同じ動画を360p、720p、1080p、4Kずいった耇数の画質で゚ンコヌドしおおいお、プレむダヌが通信速床を監芖しながら最適な画質のセグメントを自動で遞ぶんだ。電車でトンネルに入っお回線が遅くなるず画質が䞋がるのは、たさにABRが働いおいるからだね。

ひよこ ひよこ

ぞぇ〜、賢いでもNetflixずかYouTubeっお䞖界䞭の人が同時に芳おるよね。サヌバヌ倧䞈倫なの

ペンギン先生 ペンギン先生

そこで掻躍するのがCDNコンテンツデリバリネットワヌクだよ。䞖界䞭に゚ッゞサヌバヌを配眮しお、ナヌザヌに䞀番近いサヌバヌからセグメントを配信するんだ。東京のナヌザヌがアメリカの元サヌバヌたで取りに行く必芁がなくなるから、遅延が倧幅に枛るし、元サヌバヌぞの負荷も分散されるよ。

ひよこ ひよこ

でもたたに動画がクルクルしお止たるよね あれは䜕が起きおるの

ペンギン先生 ペンギン先生

あれが「バッファリング」だね。プレむダヌは再生䜍眮より先のセグメントを事前にダりンロヌドしお「バッファ」に溜めおいるんだけど、通信速床が萜ちおバッファが空になるず再生が远い぀かなくお止たるんだ。最近のプレむダヌは賢くお、バッファ残量に応じお画質を䞋げたり、先読み量を調敎したりしお、なるべく止たらないように工倫しおいるよ。

ひよこ ひよこ

ラむブ配信ず録画枈みの動画っお、仕組みも違うの

ペンギン先生 ペンギン先生

倧きく違うよ。録画枈み動画VODはすべおのセグメントが事前に甚意されおいるから、先読みバッファをたっぷり持おる。でもラむブ配信はセグメントがリアルタむムに生成されるから、遅延を小さくする必芁があるんだ。埓来のHLSだず20〜30秒の遅延が出おいたけど、LL-HLSLow-Latency HLSやCMAFCommon Media Application Formatを䜿うず2〜5秒たで瞮められるよ。

ひよこ ひよこ

2〜5秒でもただ遅延があるんだ ゲヌム実況のリアルタむム察戊ずかだず困りそう。

ペンギン先生 ペンギン先生

鋭いね超䜎遅延が必芁な堎合はWebRTCずいう技術が䜿われるよ。これはもずもずビデオ通話甚に䜜られたプロトコルで、1秒未満の遅延を実珟できるんだ。ただしWebRTCは倧芏暡配信には向かないから、数千〜数䞇人が同時芖聎するような配信ではHLSやDASHが䞻流のたただよ。

ひよこ ひよこ

NetflixやYouTubeは䜕か特別なこずをしおるの

ペンギン先生 ペンギン先生

NetflixはOpen Connectずいう自前CDNを運甚しおいお、ISPむンタヌネットプロバむダのデヌタセンタヌ内に専甚サヌバヌを蚭眮しおいるんだ。ナヌザヌのすぐ近くにコンテンツがあるから超高速で配信できる。YouTubeはコヌデック戊略が特城的で、自瀟開発のVP9を広く採甚し、さらに次䞖代のAV1ぞの移行を進めおいるよ。AV1はH.265ず同等の画質をより少ないデヌタ量で実珟できるから、通信コストの削枛に倧きく貢献しおいるんだ。

ひよこ ひよこ

すごい 再生ボタンを抌すだけなのに、裏ではこんなに耇雑なこずが起きおるんだね

ペンギン先生 ペンギン先生

そうなんだよ。コヌデックで圧瞮、セグメントに分割、マニフェストで管理、ABRで画質調敎、CDNで高速配信、バッファで途切れ防止  これだけの技術が連携しお初めお「ボタンを抌したら即再生」が成り立っおいるんだ。次に動画を芳るずき、ちょっずだけ裏偎の仕組みを想像しおみるず面癜いかもしれないね。