MPD.mpd

Media Presentation Description / エムピーディー

MPEG-DASHの配信で使われる、XMLで書かれたマニフェストファイルです。映像そのものは入っておらず、画質ごとのセグメントの場所、長さ、ビットレートを記述しています。プレーヤーはこれを読んで再生する画質とセグメントを決めます。

拡張子
.mpd
MIMEタイプ
application/dash+xml
規格
ISO/IEC 23009-1(MPEG-DASH の規格の中で定義)
中身
XMLのテキスト
階層
MPD、Period、AdaptationSet、Representation の入れ子
種類
type="static"(オンデマンド)と type="dynamic"(ライブ)
開ける主なソフト
テキストエディタ(中身の確認)、VLC、FFmpeg、dash.js のテスト用プレーヤー

配信URLの末尾が .mpd になっていて、ダウンロードしても映像が見られない、という経験をした人は多いはずです。MPDはMPEG-DASHの配信で使う目次のファイルで、映像の本体は別の場所にある細かいセグメントです。中身はXMLなので、テキストエディタで開けば構成を読めます。

MPDファイルが使われる場面

DASHで配信する映像には、必ずMPDがあります。配信の現場では、パッケージャーやクラウドの配信サービスが出力したMPDのURLを、Webのプレーヤーやアプリ、テレビ向けアプリに設定します。

制作や配信の担当者がMPDを直接読むのは、主に不具合の切り分けです。特定の端末で再生が止まる、字幕が出ない、音声の言語が切り替わらないといったときに、MPDに画質や言語の組み合わせが正しく書かれているかを確かめます。DRM付きの配信では、MPDの中にどのDRMの情報が入っているかも確認の対象になります。

MPDの中身と読み方

MPDは入れ子の構造になっています。いちばん外側の MPD 要素に、ライブかオンデマンドかを示す type、全体の長さ、再生を始めるまでに溜めるバッファの長さなどが書かれます。その下の構成は次の通りです。

  • Period は時間の区切り。番組本編と広告のように、途中で構成が変わるときに分ける
  • AdaptationSet は切り替え可能な仲間のまとまり。映像、日本語音声、英語字幕のように種類ごとに分かれる
  • Representation は1つの画質や音質。bandwidth、width、height、codecs の属性を持つ
  • SegmentTemplate はセグメントのURLの規則。$Number$ や $Time$ を埋めてURLを組み立てる

DRMの情報は ContentProtection 要素に入り、WidevineやPlayReadyなど、どのDRMで復号できるかが示されます。

MPDが再生できない・読み込めないとき

MPDだけをダウンロードして開いても、たいていは再生できません。中のセグメントのURLが相対パスで書かれていることが多く、MPDだけを別の場所に置くと、プレーヤーがセグメントを見つけられません。確認はMPDのURLのまま、dash.jsのテスト用プレーヤーやVLCで開きます。

ライブのMPDで再生が始まらない場合は、サーバーとプレーヤーの時計のずれを疑います。type="dynamic" のMPDは、配信開始の時刻とプレーヤーの現在時刻から、今どのセグメントを取るべきかを計算します。時計がずれていると、まだ存在しないセグメントや、すでに消えたセグメントを取りに行ってしまいます。MPDに UTCTiming 要素を入れて、時刻合わせの方法をプレーヤーに伝えるのが一般的な対策です。

よくある質問

MPDファイルは何で開けますか

中身を見るならテキストエディタやブラウザで開けます。XMLとして表示されるので、要素ごとに折りたたんで読むと構造が分かりやすくなります。映像として再生するなら、MPDのURLをVLCやDASH対応のプレーヤーで開きます。

MPDをMP4に変換できますか

DRMで保護されていなければ、FFmpegにMPDのURLを入力して、映像と音声のセグメントをMP4にまとめられます。DRM付きの映像は保存も変換もできません。

MPDとm3u8の違いは何ですか

どちらも配信の目次ですが、MPDはMPEG-DASH用のXMLで、全画質を1ファイルにまとめて書きます。m3u8はHLS用のテキストで、画質ごとに別のリストを持ちます。

この用語を扱ったコラム

似ている形式との違い

名前主に使う場面MPDとの違い
m3u8HLSの再生リスト1行ずつタグを並べたテキストで、画質ごとに別ファイルに分かれる。MPDは1つのXMLに全画質と音声、字幕をまとめて書く
ISM・ISMCSmooth StreamingのマニフェストMicrosoftの旧方式のマニフェスト。考え方は似ているが、DASHのプレーヤーでは読めない

関連する用語

最終更新