MPEG-DASHとは?: HTTP ベースの動的アダプティブストリーミング
この記事は、当社パートナーの Wowza Media Systems の記事 MPEG-DASH: Dynamic Adaptive Streaming Over HTTP Explained (Update) の翻訳記事です。この記事では、MPEG-DASH ストリーミングプロトコルを詳しく説明します。
COVID-19 のパンデミックにより、これまで以上に画面を見る時間が増えています。また、Netflix や YouTube でコンテンツを視聴している場合でも、MPEG-DASH プロトコルが何らかの役割を果たしている可能性があります。
では、MPEG-DASH とはどのような技術で、どのように機能するのでしょうか?
この記事ではそれらの質問のすべてをカバーします。
MPEG-DASHとは?
MPEG-DASH は、インターネット経由でメディアをストリーミングするための HTTP ベースの適応型 (アダプティブ) プロトコルです。この技術は、ライブおよびオンデマンドのビデオ コンテンツのセグメントを Web サーバーから視聴者のデバイスに転送するために使用されます。
MPEG-DASH 標準とは?略語の頭字語をたどっていくとよいでしょう。
まず、MPEG です。Moving Pictures Expert Group (MPEG) がこの技術を開発しました。デジタル オーディオおよびビデオ規格の国際的権威として、彼らは Apple の HTTP ライブ ストリーミング (HLS) プロトコルに代わる業界標準のプロトコルを作成しようとしていました。
次に、DASH です。彼らは、新しいプロトコルの名前を DASH と名付けました。これは、Dynamic Adaptive Streaming over HTTP の略です。
なぜ、MPEG-DASH が必要なのでしょうか? HLS と MPEG-DASH はどう違うのでしょうか? 少し長い記事になりますが、これから MPEG-DASH プロトコルの詳細について説明します。
MPEG-DASH スナップショット
- オーディオ コーデック: コーデックに依存しない
- ビデオ コーデック: コーデックに依存しない
- 再生の互換性: 良い、しかし、最良ではない: HTML5 ビデオ プレーヤーは すべての Android デバイスで再生可能; 2012年以降のほとんどのSamsung、Philips、Panasonic、および、Sony TV; Chrome、Safari、および Firefox ブラウザーでサポート; iOS と Apple TV は MPEG-DASH をサポートしない
- 利点: ベンダーに依存しない アダプティブ ビットレートの国際標準仕様である
- 欠点: iOS または Apple TV ではサポートされていない
- 遅延 (レイテンシー): 6 ~ 30 秒 (チャンク転送エンコーディングを介して調整または配信された場合にのみ、遅延 (レイテンシー) を下げることができます)
- バリアント フォーマット: MPEG-DASH CENC (共通暗号化)
MPEG-DASH の仕組み: アダプティブ ビットレート ストリーミング
もし視聴している番組がぼやけた映像からくっきりとフォーカスされた映像に数秒で調整されることに気づいたことがあるなら、アダプティブ ビットレート (ABR) ストリーミングについてよくご存じかもしれません。ストリーミング メディアを配信するこの方法では、高品質のビデオ エンコーディングと低品質のビデオ エンコーディングを切り替えることで、再生するコンテンツを視聴者の帯域幅容量に動的に適応させることができます。 Netflix、Hulu、YouTube のビデオサービスはすべて、まさにそれを実現するために MPEG-DASH 形式に使用しています。
多くの場合、アダプティブ ストリーミングでは、ビデオ プラットフォームまたはサーバーを使用して 1 つのビデオ ソースを取り込み、それを複数の異なるレンディションにトランスコードします。様々なデバイスや接続速度でバッファレス再生が可能となるように、それらの複数のレンディションはサイズ (訳注: 解像度やビットレート) が異なます。このようにして、高ビットレート、高フレーム レート、高解像度のストリームを、最も高度な環境を利用する視聴者向けに再生できます。また、画面が小さく機能や処理能力の不十分な視聴者には、同じビデオが低品質で再生されます。
レンディションは、連続したストリームとしてではなく、10 秒未満のセグメントの連続として配信されます。そうすることで、視聴者のインターネット速度が向上したり急降下したりすると、再生するストリームは、ビデオで提供されている解像度とビットレートの複数のオプションの中から自動的に調整されます。
アダプティブ ストリーミングを使用することで、MPEG-DASH 仕様は安定した視聴体験を提供しますが、個々のセグメントがダウンロードされるため、(再生の) 初期遅延も発生します。この問題に対する 1 つの対処方法は、セグメント サイズを小さくして遅延 (レイテンシ) をチューニングすることです。別の対処方法としては、以下で説明する Common Media Application Format (CMAF) という技術を含む方法になります。
MPEG-DASHの歴史
ストリーミング メディアの黎明期以来、競合する様々な技術がストリーミング プロトコルの最前線で互いに激しく争ってきました。ライバル関係で最も有名な企業や団体の技術には、Adobe の Real-Time Messaging Protocol (RTMP)、Apple の HTTP Live Streaming (HLS) プロトコル、および、MPEG-DASH が含まれます。
最初は RTMP があった
世紀の変わり目から話を始めると、当時は、まだダイヤルアップ インターネットがありました。クールな子供たちはノキアの携帯電話で「スネーク」をプレイしていました。ビデオのストリーミングはまだ始まったばかりで、Netflix はまだ郵送による DVD の配信に力を入れていました。
当時は RTMP が主流でした。この独自プロトコルは、Adobe Flash Player での再生に、ビデオとオーディオのデータをインターネット経由ですばやく転送することができました。当時、Flash プラグインはインターネット ブラウザの 98% をサポートしていた ため、2010 年代初頭までは RTMP がライブ ストリーミングの主要な配信メカニズムとなっていました。
RTMP は、Adobe の技術を介してエンド ユーザーに連続したデータ ストリームを送信することで、期待どおりに動作しました。今日の最も一般的な配信プロトコルとは異なり、専用のストリーミング サーバーと Flash プレーヤーが必要でした。
ご存知のように、Flash は廃止されてもう使われなくなりました。そして、スティーブ・ジョブズは、このプレイヤーの絶滅に重要な役割を果たしました。世界に iPhone を紹介した直後、彼は Flash をサポートしないという Apple の選択を擁護し、その独自性を批判しました 。
HTTP ベースのアダプティブ ビットレート ストリーミングの登場
RTMP はすぐに HTML5 ベースの技術に取って代わられました。この新しいカテゴリのストリーミング プロトコルは、従来の HTTP Web サーバーで構成されるコンテンツ配信ネットワーク (CDN) を利用して、チャンクベースのアダプティブ ビットレート メディア ファイルを配信しました。
アダプティブ ストリーミングへの移行は、バッファリングとの戦いとキャッシュ効率の向上に一挙に役立ちました。しかし、RTMP が活躍していたスペースを埋めるために、多くの新しい独自のプロトコルがすぐに開発されました。Microsoft は 2008 年に Smooth Streaming を提供し、Apple は 2009 年に HLS を提供し、Adobe は 2010 年に HTTP Dynamic Streaming (HDS) でこのパーティに参加しました。
MPEG-DASH の登場
では、MPEG-DASH は具体的にどのように登場したのでしょうか?
Alex Zambelli は、数年前、ガーディアン紙で次のようにうまく纏めています :
「主流へと成熟しようとしていた業界に、独自ストリーミング技術の別の衝突が、利益よりも損害を与えることは早い段階で明らかでした。そのため、2009 年に 3GPP でアダプティブ ストリーミングの業界標準を確立するための取り組みが開始されました。初期の 3GPP 標準化作業は、2010 年に ISO/IEC MPEG ワーキング グループに移行し、2 年足らずで提案からドラフト ステータス、承認へと急速に移行しました。 Microsoft、Netflix、Apple を含む 50 社以上の企業が参加し、3GPP , DECE , OIPF , W3C などの他の業界団体と連携して取り組みました。 2012 年 4 月までに、MPEG-DASH として呼ばれる “HTTP 経由のダイナミック アダプティブ ストリーミング” という新しい標準が誕生しました。」
つまり、Moving Pictures Expert Group (MPEG) が、HLS やその他の独自技術に代わるものとして MPEG-DASH を設計した、ということです。
2020 年以降の MPEG-DASH ライブ ストリーミング
現在、MPEG-DASH と HLS は、最も一般的な HTTP ベースの 2 つのプロトコルです。しかし、市場での採用状況に関しては明らかな勝者がいます (ヒント: Apple が承認したものです)。Wowza の 2021 年のビデオ ストリーミング レイテンシ レポート の回答をご覧ください。
非独占的なプロトコルがトップに立つことが今後あるでしょうか? 私たちの希望は「はい」です。しかし、時間が経てばわかります。
HLS と MPEG-DASH ストリーミング
HLS と DASH は、技術的な観点からは同じように機能します。 2 つの技術の主な違いは所有権にあります。HLS は Apple によって管理されていますが、MPEG-DASH ではオープンソースが選択できます。
HLS は、Apple が開発支援する技術であるため、Apple 製品全体でより適切にサポートされています。どうしてそのようになっているのでしょうか? それは簡単です。 Apple は、オープンソースの代替技術よりも独自の標準技術を優先したいと考えています。 スティーブ・ジョブズが RTMP について批判することを決意したまさにそのことが、HLS をリードし続けている理由です。
つまり、Safari では、HLS で配信されたストリーミング コンテンツをネイティブに再生することができますが、MPEG-DASH で配信されたストリーミング コンテンツを再生するには HTML5 ビデオ プレーヤーが必要となります。使用するプレーヤーが MPEG-DASH クライアントであることが必須となります。
同様に、Apple TV と iPhone は HLS ストリームのみを受け入れます。これらのデバイスでの唯一の回避策は、独自のアプリを作成することです。
最後に、HLS と MPEG-DASH が相違するその他の点は、エンコード形式と低遅延の配信方法にあります。以下のリストに纏めた通りです。
HLS と MPEG-DASH の比較
- 独自仕様と国際仕様: HLS は Apple 独自のものですが、MPEG-DASH は MPEG によって定義されたオープン スタンダードの仕様です
- 再生の互換性: HLS は Apple が業界全体に与える多大な影響力により、MPEG-DASH よりも広くサポートされています
- コーデック要件: HLS は特定のビデオ コーデック (H.265、H.265) と特定のオーディオ コーデック (詳細はこちら ) の使用を指定しますが、MPEG-DASH はコーデックに依存しません: これにより、より高度なコーデックが利用される場合、より低いビットレートでより高品質のブロードキャストが可能になります
- コンテナー形式: HLS は従来 MPEG-2 トランスポート ストリーム コンテナー形式 (.ts (MPEG-TS)) を使用してきましたが、MPEG-DASH は MP4 形式 (.mp4) を使用していました
- 遅延: どちらのプロトコルも配信遅延の点で伝統的に遅れをとっていましたが、新しいアプローチはこれを変えようとしています: MPEG-DASH の場合、これは Common Media Application Format (CMAF) の形式をとることで実現できますが、Apple は現在 Low-Latency HLS 拡張機能を提供します
訳注: Low-Latency MPEG-DASH では CMAF 形式のセグメントと Chunked Transfer Encoding (チャック転送エンコーディング) を活用することで低遅延でセグメントを転送することができます
DASH 向けの低遅延 CMAF
CMAF は Common Media Application Format の略です。つまり、HLS と MPEG-DASH の両方のストリーミングプロトコルに同じコンテナー フォーマットを指定することで、HLS と MPEG-DASH 間の相互互換性を向上させるメディア フォーマット、つまり、フラグメント化された MPG (fMP4) です。
遅延 (レイテンシー) の削減を目的とした大規模なシステムに仕様を組み込むことで、Akamai のような業界をリードする企業や組織は MPEG-DASH 経由で配信されるビデオの本質的に発生する遅延の削減にも取り組んでいます 。
チャンク エンコーディングとチャンク転送エンコーディングを使用すると、低遅延 CMAF を使用することで、ストリームを設定された長さの小さなチャンクに分割し、エンコード時にすぐに公開することができます。各ベンダーは、この新しい技術のサポートを追加するために取り組んでいますが、低遅延 HLS の出現により採用が遅れています。
低遅延 CMAF の詳細については、このブログ記事 を参照してください。
DASHの相互運用性
DASH プロトコル仕様は本質的に柔軟である一方、この柔軟性が課題を引き起こす可能性があります。具体的には、例えば、放送事業者が DASH を使って何かを実現するときに最適な構成を決定するのは困難である、ということです。
DASH-IF (DASH Industry Forum) はこの課題を認識し、適切な技術の活用をサポートするために、DASH-AVC/264 実装ガイドラインを作成しました。
標準化後に DASH が直面する主な課題の 1 つは、コア仕様で許可されている多くの機能とオプションによって表される、DASH 自体の柔軟性でした。たとえば、コーデックに依存しないことは、新しいコーデックのオプションをサポートする場合にはプラスになりますが、エンコーダーまたはプレーヤーの提供者にとっては課題となります。例えば、DASH プレーヤーでどのコーデックをサポートしていますか?、エンコーダーはどのセグメントのカプセル化を生成する必要がありますか?、DRM の信号はどのように通知する必要がありますか?、サポートしているクローズド キャプション形式は何ですか?、などの点になります。この標準化仕様にあるこれらの本質的な柔軟性により、様々な初期実装間で相互運用性を実現することがより困難になりました。
完全な相互運用性が MPEG-DASH 市場での迅速な採用の鍵であることを認識することで、DASH-IF は DASH 標準をそのままの形で採用し、それをコーデックと結び付け、厳しいプロファイルやその他の制限を適用し、誰もが面倒な統合を必要としない相互運用可能な製品とサービスの構築に使用できるベースラインの推奨事項を作成することを決定しました。もしフォーマットが “どこでも機能する” とすれば、その成長は加速するため、相互運用性は採用の鍵となります。この推奨事項を含んだ勧告の名前は “DASH-AVC/264 実装ガイドライン” であり、https://dashif.org からダウンロードできます。
プレイヤー
いくつかの埋め込み可能な HTML5 ビデオ プレーヤーは、複数のブラウザの上で MPEG-DASH 再生をサポートしています。 DASH-IF は無料のオープンソース プレーヤーとして dash.js を立ち上げました。その他のプレイヤーのオプションには次のようなものがあります。
サーバー
ほとんどのコンテンツ ディストリビューターは、RTMP、WebRTC、または、SRT を使用してオンライン ビデオをエンコードし、(エンコードされたビデオが) ビデオ ストリーミング サーバーに到達したら、DASH を使ったアダプティブ ビットレート配信のためにビデオをトランスコードすることを選択します。
Wowza の SaaS プラットフォーム (Wowza Video) とメディア サーバー (Wowza Streaming Engine) はどちらも DASH をサポートしており、顧客の特定の要件に応じて、取り込みと配信の両方で最適なストリーミング プロトコルを使用するワークフローを柔軟に構築できます。
とはいえ、ビデオを追加の形式 (HLS など) で配信して、様々なデバイスの視聴者がコンテンツを視聴できるようにすることをお勧めします。繰り返しになりますが、Wowza のようなストリーミング ソリューションは、ストリームを複数の形式にパッケージ化して、可能な限り幅広い視聴者にリーチするための最善の策です。
コンテンツ配信ネットワーク (CDN)
DASH は、一度パッケージ化すると、従来のネットワーク サーバーと技術を使用して転送できるため、費用対効果が高くなります。これにより、CDN を使用した配信規模のスケーリングが容易になります。
DASH サポートを提供するライブ ストリーミング向けの私たちのお気に入りの CDN には次のようなものがあります:
市場での DASH の採用と今後の予定
ベンダー固有の技術とオープン スタンダードの技術の間の権力闘争は、ストリーミング業界では目新しいことではありません。しかし、RTMP や HLS などのベンダー独自のプロトコルが依然として目立っていますが、DASH などのオープンソースの代替手段が将来の道になる可能性があります。
MPEG-DASH は、そのオープンな性質により明確な利点をもたらします。 その 1 つには、ビジネスの最高峰がリードするコミュニティ主導の取り組みを通じて開発されていることです。この協調的な精神によって、ストリーミング空間を悩ませてきた断片化の課題が対処され、それによって相互運用性の向上と複雑さの解消への取り組みが促進されます。
DASH-IF では、これを次のように詳しく述べています:
DASH 自体は、メディア、デバイス、市場の断片化の問題に対する魔法の万能薬ではありません。ただし、DASH-IF メンバーは、「断片化された事項の収束による長期的な利益がその目標を達成するための短期的な努力のコストを上回る」という共通のビジョンを共有しています。彼らは、推奨事項の作成、バグの報告、相互接続性試験や相互運用のためのイベントへの参加などの作業を進んで引き受けており、彼らのビジネスとインターネット ストリーミング市場全体が、DASH を中心とした収束によって大きな利益を得ると信じています。
とはいえ、HLS は引き続き市場では中心的な役割を果たしており、DASH の採用が遅れています。したがって、HLS 対 DASH の議論のどこに着地しても、Apple デバイスにストリーミングする場合は HLS が最善の策であり続けます。
幸いなことに、Wowza を使用すると、動画をさまざまな形式に簡単にトランスマックスして、あらゆるデバイスに確実に配信することができます。