MPEG-DASHとは?| HLSとDASH

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

学習目的

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

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

関連コンテンツ


さらに詳しく知りたいとお考えですか?

是非、Cloudflareが毎月お届けする「theNET」を購読して、インターネットで最も人気のある洞察をまとめた情報を入手してください!

当社がお客様の個人データをどのように収集し処理するかについては、Cloudflareのプライバシーポリシーをご確認ください。

記事のリンクをコピーする

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. エンコーディングとセグメンテーション:オリジンサーバーは、動画ファイルを数秒の短いセグメントに分割します。サーバーは、動画セグメントの目次のような、インデックスファイルも作成します。次に、セグメントがエンコードされます。つまり、複数のデバイスが解釈できるようにフォーマットされます。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で配信された動画を再生できません。

セグメントの長さ:これはHLSのデフォルトのセグメント長が10秒であった2016年以前のプロトコルと大きく違う点です。現在、HLSのデフォルトの長さは6秒ですが、デフォルトを調節することも可能です。MPEG-DASHセグメントの長さは通常2~10秒ですが、最適な長さは2~4秒です。

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

CloudflareはMPEG-DASHをサポートしているか?

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

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

動画ストリーミングについては、こちらをお読みください。