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との違い |
|---|---|---|
| m3u8 | HLSの再生リスト | 1行ずつタグを並べたテキストで、画質ごとに別ファイルに分かれる。MPDは1つのXMLに全画質と音声、字幕をまとめて書く |
| ISM・ISMC | Smooth Streamingのマニフェスト | Microsoftの旧方式のマニフェスト。考え方は似ているが、DASHのプレーヤーでは読めない |
関連する用語
最終更新
