低遅延DASH.mpd.m4s

Low-Latency DASH / テイチエンダッシュ

MPEG-DASHのライブ配信の遅延を数秒まで縮める運用の呼び名です。CMAFのチャンク単位で映像を作り、HTTPの分割転送でまだ完成していないセグメントを流し始めることで、放送と同程度の遅延を狙います。

土台の規格
MPEG-DASH(ISO/IEC 23009-1)
まとまった仕様
DASH-IFのLow-latency Modes for DASH(2020年)。DVB-DASH(ETSI TS 103 285)の低遅延拡張と揃えて作られた
細かく送る単位
CMAFチャンク(CMAFフラグメントをさらに分けたもの)
転送の仕組み
HTTPの分割転送(chunked transfer encoding)。取り込みからCDNのエッジまで通す必要がある
目標遅延の指定
MPDのServiceDescription要素に置くLatency要素の@target(ミリ秒)
遅延の維持
PlaybackRate要素の@minと@maxの範囲でプレーヤーが再生速度を微調整する
時刻合わせ
ミリ秒精度のUTCTiming要素と、制作側の時刻を示すProducerReferenceTime要素
途中参加・復帰
Resync要素(ISO/IEC 23009-1:2020/Amd.1で導入)
従来のプレーヤー
同じ配信をそのまま再生できる。ただし遅延は大きくなる

ライブ配信の遅延を縮める話になると、セグメントを短くすればよいという答えがまず出ます。ところが1秒のセグメントにすると、ファイルの数もリクエストの数も増え、圧縮の効率も落ちます。低遅延DASHは、セグメントの長さを変えずに、中身を作りながら流し始めるという別の道を取ります。

低遅延DASHが使われる場面

スポーツ中継や開票速報のように、テレビ放送やSNSと並べて見られるライブ配信で使われます。DASH-IFの資料でも、放送の遅延はおおむね3秒から10秒の範囲に収まるとされており、そこに近づけることが目標に置かれています。同時配信でテレビより大きく遅れると、結果を先に知ってしまうという問題が起きます。

Androidやブラウザ、テレビ向けのアプリが中心の配信で選ばれます。iPhoneのSafariが標準で再生できるのはLL-HLSなので、両方を出す構成では、CMAFのセグメントを共通にして、マニフェストだけを2種類用意するのが一般的です。

設備の側では、CDNが分割転送をそのまま素通ししてくれるかどうかが要になります。取り込みからパッケージャー、CDNのエッジまでの経路が分割転送に対応していないと、エッジでセグメントが揃うまで待たされ、低遅延になりません。

低遅延DASHの仕組み

エンコーダーはCMAFのフラグメントをさらに小さなチャンクに分けて出します。パッケージャーは、できたチャンクをその都度オリジンへ上げ、サーバーはHTTPの分割転送でクライアントへ流します。プレーヤーは、セグメントがまだエンコーダーの中で作られている最中でも、届いた部分から再生を始められます。

遅延をどこに保つかはMPDで示します。ServiceDescription要素の中のLatency要素に@targetを置き、配信側が望む再生遅延をミリ秒で書きます。@minと@maxを添えて、下回ってほしくない値と超えてほしくない値も示せます。

目標に対して実際の遅延が動いたとき、プレーヤーは再生速度を微調整して戻します。どこまで速く、どこまで遅くしてよいかはPlaybackRate要素の@minと@maxで示されます。現在の遅延を測る基準には、制作側の時刻を示すProducerReferenceTime要素と、ミリ秒精度のUTCTiming要素を使います。

低遅延DASHとLL-HLSの違い

項目

低遅延DASH

LL-HLS

まとめた主体

DASH-IF(DVBと歩調を合わせて2020年)

Apple(2019年)

マニフェスト

MPD(XML)

m3u8(テキスト)

細かく送る単位

CMAFチャンク

部分セグメント

届け方

未完成のセグメントをHTTPの分割転送で流す

完成した部分セグメントを個別に取りに行く

目標遅延の示し方

ServiceDescriptionのLatency@target

EXT-X-SERVER-CONTROLのPART-HOLD-BACK

標準で再生できる環境

dash.jsなどの対応プレーヤー、Android

iOS 14以降などのApple製品

どちらもセグメントの中身はCMAFにできるため、同じファイルを両方のマニフェストから参照する構成が取れます。違いは、細切れになった映像をどう届けるかという点に集中しています。

よくある質問

低遅延DASHで遅延はどこまで縮みますか

配信の設計とCDNの経路で変わりますが、放送と同程度、数秒の範囲に収めることが目標に置かれています。セグメントを短くする従来のやり方と違い、セグメント長を保ったまま縮められる点が違いです。

低遅延DASHに対応していないプレーヤーでは再生できませんか

再生できます。分割転送を使わないプレーヤーは、セグメントが完成してから受け取る通常の動きになり、遅延が大きくなるだけです。仕様も、従来のクライアントがそのまま使えることを前提に作られています。

低遅延DASHとLL-HLSは両方用意する必要がありますか

視聴者の端末によります。iPhoneのSafariで標準再生させるならLL-HLSが要ります。両方を出す場合でも、CMAFに揃えればセグメントは1組で済みます。配信方式の選び方はHLSとMPEG-DASHの違いでも整理しています。

この用語を扱ったコラム

似ている形式との違い

名前主に使う場面低遅延DASHとの違い
LL-HLSiPhone・Apple製品向けの低遅延配信部分セグメントをファイルとして取りに行く方式。低遅延DASHは未完成のセグメントを分割転送で流す
MPEG-DASH通常のライブ・VOD配信セグメントが完成してから配るため遅延が数十秒になりやすい。低遅延DASHは同じ規格の中の運用の仕方
WebRTC双方向・1秒未満の配信遅延はさらに小さいが、HTTPのCDNでそのまま大量配信する構成ではない

関連する用語

最終更新