Brightcove
サポート+81 3 6453 7730
製品情報
ソリューション
リソース
企業情報
Search IconA magnifying glass icon.
お問い合わせRequest a Demo

戻る

Bo Zhang

By Bo Zhang

Principal Software Engineer at Brightcove

低遅延動画ストリーミングの進化

Tech Talk

Low-Latency Live

ここ数年、動画ストリーミング業界では、低遅延ストリーミングプロトコルへの関心が非常に高まっています。その多くは、5秒以下の遅延で動画を配信することで、生放送のテレビシステムの遅延と同等にすることに関心が集まっています。このような低遅延を実現することは、ライブスポーツ、ゲーム、オンライン学習、インタラクティブな動画アプリケーションなどのストリーミングに不可欠です。


低遅延ストリーミング技術の開発

HLSDASHといった従来のOTTライブストリーミングテクノロジーの遅延はもっと長くなります。これは、比較的長いセグメント(4~10秒)と、再生前に各メディアセグメントの完全な配信を必要とするセグメントベースの配信モデルによって引き起こされます。HLSやDASHのストリーミングクライアントが使用するバッファリング戦略と組み合わせると、通常10~30秒、あるいはそれ以上の遅延が発生します。

遅延に対処するため、最近のHLSとDASHの規格は、低遅延HLS(LL-HLS)低遅延DASH(LL-DASH)として進化しており、2つの重要なツールが導入されています:

  • Chunked video encoding : これは、より短いサブセグメントまたはチャンクのシーケンスとして構造化された動画セグメントを生成する符号化戦略です。
  • Chunked segment transfer : 短い動画チャンクが生成されるとすぐにストリーミングクライアントに送信できるようにするHTTP転送モードです。

ストリーミングクライアントは、セグメント境界やチャンク境界でライブトランスコーダーが利用可能にした任意のストリームアクセスポイント(SAP)から低遅延のライブストリームに参加することができます。一度参加すると、プレーヤーはエンコーダーが生成した最新の動画チャンクをデコードおよびレンダリングする前にバッファリングするだけです。各セグメントが複数のチャンク(通常4~10個)に分割されることを考慮すると、これにより遅延が大幅に短縮されます。

現在、低遅延サーバーやプレーヤーの実装は、Brightcove社のものを含め、オープンソースや独自に実装されたものが市場に出回っています。これらの多くは、単一ビットレートのストリームのみを使用し、高速ネットワーク接続でストリーミングする場合に、ストリーミングの遅延が少ないことを実証しています。しかし、より複雑で現実的な展開環境下での性能は十分に研究されていません。


低遅延ストリーミングの性能検証

ACM Mile-High-Video 2023(リンク先)に掲載された論文や、Facebook@Scaleでのプレゼンテーションで、低遅延システムの性能を検証した結果を報告しました。

まず、LL-HLSとLL-DASHの両システムの評価テストベッドを開発しました。そして、このテストベッドを使用して、Dash.js、HLS.js、Shaka player、Theo playerなど、さまざまな低遅延プレーヤーを評価しました。また、低遅延ライブプレーヤー用に最適化された最新のビットレート適応アルゴリズムもいくつか評価しました。評価は、一連のライブストリーミング実験に基づいて行われました。これらの実験は、同一の動画コンテンツ、エンコーディングプロファイル、ネットワーク条件(実世界のネットワークのトレースを使用してエミュレート)を使用して繰り返されました。

表1は、マルチビットレート、低遅延のDASH/HLSストリームを生成するためのライブ動画エンコーディングプロファイルです。

RenditionVideo resolution (pixels)Video codec and profileBitrate (kbps)
low768 x 432H.264 main949
mid1024 x 576H.264 main1854
high1600 x 900H.264 main3624
top1920 x 1080H.264 main5166
表1. ライブ動画のエンコーディングプロファイル

図1に、低遅延DASHおよびHLSストリーミングテストベッドのワークフローを示します。

LL-DASH toolchain LL-HLS toolchain

図1. 低遅延プレーヤーの評価に使用したシステムセットアップ

図2は、エミュレートしたLTEモバイルネットワークの利用可能なネットワーク帯域幅を示したものです。低遅延プレーヤーのダウンロード帯域幅は、当社のネットワークエミュレーションツールとネットワークトレースによって制御されています。

Low-Latency Streaming Test - Network Bandwidth

図2. エミュレートしたLTEモバイルネットワーク(VerizonとT-Mobile)の利用可能帯域幅

実験では、さまざまなシステム性能指標(平均ストリームビットレート、ダウンロードされたメディアデータ量、ストリーミングレイテンシー)、およびバッファリングとストリームスイッチングの統計情報を取得し報告しました。

これらの結果は、LL-HLSとLL-DASHのプレーヤーやシステムで観察される性能の違いを説明するために使用されています。

研究から得られたいくつかのプロットは、以下の図に見ることができます。

Bitrate - DASH TMobile Bitrate - HLS TMobile

図3. LL-HLSとLL-DASHのプレーヤーから報告されたビットレートの切り替えのダイナミクス

Latency - DASH TMobile Latency - HLS TMobile

図4. LL-HLSとLL-DASHのプレーヤーが報告したレイテンシーの変動の比較

パフォーマンス統計 - T-Mobile LTEネットワーク

Player/AlgorithmAvg. bitrate [kbps]Avg. height [pixels]Avg. latency [secs]Latency
var. [secs]
Speed var. [%]Number of switchesBuffer eventsBuffer ratio [%]MBs loadedObjects loaded
DASH.js default27707263.060.2110.493387.99352.2256
DASH.js LolP34968535.654.5922.7705321.96369.4210
DASH.js L2all36999084.143.1819.95197.99368147
Shaka player (dash)38189164.922.0601654.66360.3155
THEO player (dash)45949936.160.0102700418.7152
HLS.js default 2020176356210.0810.918.12629.8130.7589
HLS.js LolP 202017565605.970.26.12400148.1688
HLS.js L2all 2020175256060.235.93400133.1686
HLS.js default 202339718958.931.130800360.8613
Shaka player (HLS)39559087.182.2301473.8230475

表2. パフォーマンス統計 - T-Mobile LTEネットワーク


低遅延ストリーミングの性能評価

LL-HLSとLL-DASHは、制約のないネットワーク環境ではうまく機能しましたが、低帯域幅や変化の激しいネットワーク(モバイル展開で典型的)では苦戦しました。その結果、遅延が大きく変化したり、バッファリングを防ぐことができなかったり、帯域幅が頻繁に切り替わったり、利用可能なネットワーク帯域幅を使用できなかったりするなどの影響が観察されました。このような厳しいネットワーク条件下では、低遅延でないストリーミングに切り替えたプレイヤーもあります。

LL-HLSやLL-DASHは理論的には有望ですが、これらの技術にはまだ成熟の余地があります。

ブライトコーブでは、低遅延ストリーミング クライアントのアルゴリズムや、エンコーダおよびサーバサイドの最適化について、クラス最高の実装を継続的に行っています。低遅延ストリーミングのサポートは、スケーラブルで信頼性が高く、プライムタイムに完全に対応できるようにするつもりです。

このブログは、2021年にYuriy Reznikによって書かれたもので、正確さと包括性のために更新されています。


トップに戻る