低遅延ライブストリーミング
ライブ遅延の原因
ライブストリーミング遅延は、動画キャプチャと視聴者表示の時間差です。遅延は主に以下の段階から生じます:キャプチャ遅延(キャプチャデバイスの処理時間、通常ミリ秒単位)、エンコーディング遅延(フレームのエンコードに必要な時間)、伝送遅延(エンコーダーからサーバー、サーバーから視聴者へのデータ転送時間)、セグメンテーション遅延(HLSは完全なTSセグメントを生成するのに十分なデータを蓄積する必要がある)、バッファ遅延(プレーヤーは再生開始前に数セグメントをバッファリングする必要がある)。
従来HLSの遅延分析
従来のHLSライブの遅延は通常10〜30秒です。セグメント長6秒、バッファ2セグメントの場合、セグメンテーションとバッファだけで12秒の遅延が生じます。エンコーディングと伝送の遅延を加えると、総遅延は容易に15〜30秒に達します。ECライブや教育ライブなどの多くのライブシナリオではこの遅延は許容範囲ですが、ゲーム配信やビデオ会議などのリアルタイム互动シナリオでは10〜30秒の遅延は受け入れられません。
低遅延HLS(LL-HLS)
Appleは2019年にLL-HLSをリリースし、エンドツーエンドの遅延を2〜5秒に低減しました。LL-HLSは以下の技術で低遅延を実現します:パーシャルセグメント(TSセグメントをより小さな部分に細分し、早期再生を可能にする)、プリロードヒント(#EXT-X-PRELOAD-HINTタグで次のセグメントのURLをプレーヤーに通知し、事前リクエストを可能にする)、ブロッキングプレイリストリロード(サーバーは新しいコンテンツが利用可能になるまでレスポンスをブロックし、無効なポーリングを削減)。
その他の低遅延ソリューション
LL-HLS以外にも、以下の低遅延ソリューションがあります:WebRTC(UDPベース、500ms〜1sの遅延、小規模リアルタイム互动に適する)、RTMP(従来のプッシュプロトコル、1〜3sの遅延、但し廃止されたFlashが必要)、SRT(Secure Reliable Transport、1〜2sの遅延、プロフェッショナル放送に適する)、DASH低遅延(LL-HLSと同様にブロック転送で低遅延を実現)。