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の読み方は何ですか
「エムペグダッシュ」と読みます。現場では単に「ダッシュ」と呼ばれることも多いです。
この用語を扱ったコラム
似ている形式との違い
関連する用語
最終更新
