体験を伝える―『ガジェット通信』の考え方

面白いものを探しにいこう 本物を体験し体感しよう 会いたい人に会いに行こう 見たことのないものを見に行こう そしてそれをやわらかくみんなに伝えよう [→ガジェ通についてもっと詳しく] [→ガジェット通信フロアについて]

AbemaTVがリニア型配信で「MPEG-DASH」をサポートした理由と、その使い方とは?

HLSとMPEG-DASHの違い

AbemaTV Developer Conference 2017」は開局から約1年半のインターネットテレビ放送の実績をもとに、現場で得られた技術的知見が公開されるイベントである。

配信現場からインジェスト・パッケージングを経て、多様なデバイスに快適な視聴体験を届けるための取り組みや、大規模な同時接続に対するシステム開発・運用など、セッションテーマは多岐にわたる。

現在、AbemaTVのサーバサイドエンジニアとして配信チームで活躍している山中勇成さんが発表したのは、「MPEG-DASHによるリニア型配信」についてだ。

AbemaTVのサーバサイドの話は、昨年のAbemaTV Developer Conference(DevCon)でも語られている。またTECH PLAY CONFERENCE 2017では「1周年を迎えたAbemaTVの動画配信の裏側」を紹介している。

今回MPEG-DASHの話をする前に、まずはHLSについて語られた。HLSとはAppleが提唱した、HTTPでストリーミングを行う規格。当初、ライブストリーミングは、Adobeが作ったRTMPというプロトコルや独自の規格で配信することが主流だった。

しかしこれらの規格はパソコン向けで移動体向けではなかったため、Appleが作ったのがHLSである。HLSの登場によりサポートするプレーヤー、サポートするサービスが増えたのだ。

HLSはメディアに関する情報はm3u8のプレイリストに記述する。このプレイリストはマスタープレイリストとメディアプレイリストの2つで構成される。

マスタープレイリストはビットレート別、冗長構成のメディアプレイリストのパスが記述される。これはなくてもよいが、アダプティブビットストリーミング(帯域に応じて画質を落としたり上げたりすること)が可能になる。

もう一つがメディアプレイリストで実際のメディアに関する情報が記述される。

MPEG-DASHの“DASH”はDynamic Adaptive Streaming over HTTPの略で、国際標準化機関ISO/IECが定義したHTTPストリーミングを行うための規格である。

規格化した目的は互換性がなかったAppleのHLS、MicrosoftのSS、AdobeのHDSなどの規格を統一するため。ABR、マルチストリーム、字幕(CC)、ライブ、ダイナミック広告、DRMなどの多くの機能が仕様として定められている。しかしすべてをサポートするプレーヤーは存在しないのが現状だ。

MPDはMedia Presentation Descriptionの略で、MPEG-DASHで定義されているメディアに関する情報を記述するXMLファイルである。HLSでいうm3u8のようなもの。言い換えればMPEG-DASHは、このMPDの仕様を定めたものである。

MPEG-DASHの要素解説

MPEG-DASHのMPDファイルを要素ごとに説明する。

■MPD

一番ルートとなる要素で、MPDには必ず必要となる。

type=”dynamic”にすると、定期的にプレーヤーがマニュフェストファイルを取りに来る仕様で、Liveの場合に多く使われる。staticの場合は一つの動画として一度ダウンロードしたら終わりである。

MPEG-DASHのプロファイルを図で表すと次のようになる。

1 2 3次のページ
CodeIQ MAGAZINEの記事一覧をみる
  • 誤字を発見した方はこちらからご連絡ください。
  • ガジェット通信編集部への情報提供はこちらから
  • 記事内の筆者見解は明示のない限りガジェット通信を代表するものではありません。