MPEG-DASHとは?| HLS対DASH

MPEG-DASHは、インターネット経由で動画をストリーミングするための技術です。MPEG-DASHはHTTPを使用し、任意のWebサーバーで実行できます。

Share facebook icon linkedin icon twitter icon email icon

MPEG-DASH

学習目的

この記事を読み終えると、以下のことができます。

  • MPEG-DASHビデオストリーミング技術の仕組みを学ぶ
  • MPEG-DASHとHLSの比較と対照
  • アダプティブビットレートストリーミングの利点を探る

MPEG-DASHとは?

ストリーミングは、デバイスが、データが完全に読み込まれる前にデータの表示を開始できるように、インターネット経由でデータを配信する方法です。動画はインターネットを介してストリーミングされるため、 クライアントデバイスは、再生する前に動画ファイル全体をダウンロードする必要がありません。

MPEG-DASHはストリーミング方式です。DASHは、「Dynamic Adaptive Streaming over HTTP」の略です。HTTPに基づいているため、任意の配信元サーバーが、MPEG-DASHストリームを提供するように設定することができます。

MPEG-DASHは、別のストリーミングプロトコルであるHLSと似ています。動画をより小さな塊に分割し、異なる品質レベルでエンコードします。これにより、さまざまな品質レベルで動画をストリーミングしたり、ビデオの途中で品質レベルを切り替えたりすることができます。

HTTPとは?

HTTPは、インターネット経由で通信するための第7層プロトコルです。WebアプリケーションはHTTPを使用して、両端のデバイスが解釈できるようにデータを送受信します。これは、世界のさまざまな地域の2人が共通の言語を使用して通信するようなものです。

MPEG-DASHはHTTPを使用しますが、これはほとんどのインターネットが既にHTTPを使用しているため利点です。HTTPでは、ストリームはほぼ常にオープンの標準ポート(ポート 80 または 443)に送られます。これにより、特殊なポートや異常なポートを使用するストリーミングプロトコルをブロックできるファイアウォールによってストリームがブロックされることはほとんどありません。

MPEG-DASHの仕組みとは?

MPEG-DASHストリーミングプロセスの主な手順は次のとおりです。

  1. エンコードとセグメンテーション:配信元サーバーは、動画ファイルを2〜4秒の短いセグメントに分割します。サーバーは、動画セグメントの目次のような、インデックスファイルも作成します。次に、セグメントがエンコードされます。つまり、複数のデバイスが解釈できるようにフォーマットされます。MPEG-DASHでは、任意のエンコーディング標準を使用できます。
  2. 配信:ユーザーがストリームの視聴を開始すると、エンコードされた動画セグメントがインターネット経由でクライアントデバイスにプッシュされます。ほとんどすべての場合、コンテンツ配信ネットワーク(CDN)は、ストリームをより効率的に配信するのに役立ちます。
  3. デコーディングと再生:ユーザーのデバイスがストリーミングデータを受信すると、データをデコードして動画を再生します。ビデオプレーヤーは、ネットワークの状態に合わせて低品質または高品質の画像に自動的に切り替わります。たとえば、現在ユーザーの帯域幅が非常に少ない場合、動画はより少ない帯域幅を使用する低品質レベルで再生されます。

適応ビットレートストリーミングとは?

適応ビットレートストリーミングは、ネットワークの状態が変化したときに、ストリームの途中で動画の画質を調整する機能です。MPEG-DASH、HLS、HDSなどのいくつかのストリーミングプロトコルは、適応ビットレートストリーミングを可能にします。

配信元サーバーはいくつかの異なる品質レベルで動画セグメントをエンコードするため、適応ビットレートストリーミングが可能です。これは、エンコードおよびセグメンテーションプロセス中に発生します。ビデオプレーヤーは、動画の途中で再生を中断することなく、1つの品質レベルから別の品質レベルに切り替えることができます。これにより、ネットワーク帯域幅が突然減少した場合にビデオが完全に停止するのを防止します。

HLS対DASH:主な違いは?

HLSは、今日広く使用されているもう1つのストリーミングプロトコルです。MPEG-DASHとHLSは多くの点で似ています。どちらのプロトコルもHTTPで実行され、トランスポートプロトコルとしてTCPを使用し、付随するインデックスファイルで動画をセグメントに分割し、適応ビットレートストリーミングを提供します。

しかし、2つのプロトコルを区別するいくつかの重要な違いがあります。

エンコード形式:MPEG-DASHでは、任意のエンコード標準を使用できます。一方、HLSではH.264またはH.265の使用が必須です。

デバイスのサポート:HLSは、Appleデバイスでサポートされている唯一の形式です。iPhone、MacBook、およびその他のApple製品は、MPEG-DASHで配信された動画を再生できません。

セグメント化:MPEG-DASHは通常、動画をHLSよりも小さなセグメントに分割して配信します。HLSのデフォルトのセグメント長は10秒ですが、MPEG-DASHセグメントの長さは通常2〜4秒です。つまり、MPEG-DASHを使用すると、品質レベルをすばやく切り替えることができるため、ネットワーク状況に対応した調整が迅速です。

標準化:MPEG-DASHは国際標準です。 HLSはAppleによって開発され、広く支持されているにもかかわらず、国際標準として公開されていません。

HTML5サポート:HLSはHTML5によって自動的にサポートされますが、MPEG-DASHはサポートされません。つまり、一部のブラウザまたはアプリは、Apple以外のデバイスでもMPEG-DASHビデオストリームを再生できません。

HTML5とは?

HTMLは、Webページをコーディングするための標準のマークアップ言語です。つまり、Webページの外観を制御するコードです。Webページを右クリックして、メニューから「ページのソースを表示」を選択すると、任意のWebページのHTMLソースコードを表示できます。

HTML5はHTMLの最新バージョンです。動画のサポートが含まれています。これにより、ブラウザはサードパーティのブラウザプラグイン(Flashの場合必要)なしで埋め込み動画を再生できます。代わりに、ブラウザはネイティブ動画をサポートできます。

CloudflareはMPEG-DASHをサポートするのか?

Cloudflareビデオストリーミング製品は、他のストリーミング標準とともにMPEG-DASHをサポートしています。ビデオストリーミング用の主要なCloudflare製品は、 Cloudflare Stream および Cloudflare Stream Delivery です。

Cloudflare Streamは、動画ストレージ、エンコード、カスタマイズ可能なプレーヤーをCloudflareグローバルネットワークと統合するオンデマンドビデオストリーミングプラットフォームです。Cloudflare Stream Deliveryは、Cloudflareネットワークに保存されていないビデオストリームをキャッシュし、高速化します。

ビデオストリーミングプロトコルと標準の詳細をご確認ください。