MPEG-DASH.mpd.m4s

Dynamic Adaptive Streaming over HTTP / エムペグダッシュ

映像を短いセグメントに分けてHTTPで配り、回線の速さに合わせて画質を切り替えるための国際規格です。ISO/IECが規格化しており、XMLのマニフェスト(MPD)でセグメントの場所と画質の一覧を示します。

規格
ISO/IEC 23009-1
策定
MPEG(ISO/IEC JTC 1/SC 29)
マニフェスト
MPD(XML、MIMEタイプ application/dash+xml)
セグメントの形式
fMP4(ISOBMFF・CMAF)が主流。MPEG-2 TS も規格上は可
コーデック
規格としては指定しない(H.264、HEVC、AV1、VP9 など)
DRM
共通暗号化(CENC)で Widevine と PlayReady を同じファイルで扱える
主なプレーヤー
dash.js、Shaka Player、Android の ExoPlayer(Media3)

配信サービスの仕様書に「HLSとMPEG-DASHの両方で出力」と書かれていて、なぜ2つ必要なのか疑問に思う人は多いはずです。仕組みはほぼ同じですが、iPhoneのSafariはHLSしか標準で再生できず、AndroidやWebのDRM付き配信ではMPEG-DASHが扱いやすいため、両方を用意する構成が今も一般的です。

MPEG-DASHが使われる場面

YouTubeをはじめとする大手の動画配信で、ブラウザやAndroid、テレビ向けアプリへの配信に使われています。映画やドラマの有料配信のように、GoogleのWidevineやMicrosoftのPlayReadyといったDRMで保護する映像では、共通暗号化(CENC)で1組のセグメントを複数のDRMから使えるDASHが選ばれやすいです。

欧州のハイブリッド放送の規格であるHbbTVも、放送と連動したネット配信にMPEG-DASHを採用しています。スマートテレビやゲーム機、セットトップボックスのアプリも、DASHに対応したプレーヤーを持つものが多くあります。

配信の構成としては、AWS Elemental MediaPackageやUnified Streamingのようなパッケージャーが、1つのエンコード結果からHLSとDASHの両方のマニフェストを作り分ける形がよく使われます。

MPEG-DASHの仕組み

エンコーダーは、同じ映像を1080p、720p、480pなど複数の画質で作り、それぞれを数秒ごとのセグメントに分けます。その一覧と、どの画質が何bpsかをMPDというXMLのファイルに書きます。プレーヤーはMPDを読んで、通信の速さに応じた画質のセグメントを順に取りに行きます。この画質の切り替えをABRと呼びます。

DASHの特徴は、規格がコーデックを決めていないことです。H.264だけでなく、HEVCやAV1、VP9、音声ならAACやAC-3、E-AC-3も同じ仕組みで配れます。セグメントはfMP4が主流で、これはCMAFとして整理された形式とほぼ同じなので、HLSとセグメントを共有する運用にもつながります。

MPEG-DASHの再生と運用で迷いやすい点

WebでDASHを再生するには、dash.jsやShaka PlayerのようなJavaScriptのプレーヤーをページに組み込みます。ブラウザ自体にDASHの再生機能はなく、Media Source Extensionsを使ってプレーヤーがセグメントを流し込む仕組みです。iPhoneのSafariではこの方法が使えない環境があるため、iPhone向けにはHLSを並行して出すのが一般的です。

規格の選択肢が多いことも、運用で迷う原因になります。同じDASHでも、セグメントの参照方法やタイムラインの書き方が複数あり、プレーヤーによって対応に差があります。業界団体のDASH Industry Forumが相互運用のためのガイドラインを出しているので、パッケージャーの設定をそれに合わせておくと、再生できない端末を減らせます。

よくある質問

MPEG-DASHはiPhoneで再生できますか

iPhoneのSafariとiOS標準の再生機能は、MPEG-DASHを標準では再生できません。iOS 17.1以降はSafariがManaged Media Sourceに対応したため、これを使うJavaScriptのプレーヤーを通して再生できる場合もありますが、確実に届けるならiPhone向けにはHLSを用意するのが一般的です。

MPEG-DASHとHLSはどちらを使えばよいですか

見せたい端末で決めます。iPhoneとSafariを含めるならHLSは必須で、Android、Web、テレビ向けにDRM付きで配るならDASHが扱いやすくなります。CMAFでセグメントを共通にすれば、両方を出してもストレージの負担は大きく増えません。

MPEG-DASHの読み方は何ですか

「エムペグダッシュ」と読みます。現場では単に「ダッシュ」と呼ばれることも多いです。

この用語を扱ったコラム

似ている形式との違い

名前主に使う場面MPEG-DASHとの違い
HLSiPhone・Safari・ライブ配信Appleが開発した方式で、再生リストはテキストのm3u8。iPhoneのSafariが標準で再生できる
CMAFHLSとDASHの共通化CMAFは配信方式ではなくセグメントの形式の規格。DASHとHLSの両方から同じセグメントを参照するために使う
Smooth Streaming旧来のWindows向け配信Microsoftの独自方式。DASHの規格化にあたって考え方が取り込まれ、現在は新規の採用はほとんどない

関連する用語

最終更新