6.17.2016

HLSにおけるfMP4サポート

WWDC2016の3日目、HLSにおけるMPEG-4 Frangmentのサポートが発表されました。

http://devstreaming.apple.com/videos/wwdc/2016/504m956dgg4hlw2uez9/504/504_whats_new_in_http_live_streaming.pdf

このセッションでは他にもIn-playlist timed metadataの採用やオフラインでのHLS再生(with Offline Fairplay Streaming)サポートなども発表されたけど、インパクトがあったのはやはりfMP4のサポート。ポイントは


  • 従来のMPEG-2 TS形式に加えてMPEG-4 Fragment形式をサポート
  • MPEG-2 TS形式でサポートしていた機能は(セグメント暗号化含め)含まれる


MPEG-4 Fragment形式にしてもmanifestファイルの書式は変更はありません。

MPEG-2 TS

fMP4


そして何より便利なのはメディア管理はmp4に一本化可能という点。HLS以外にMPEG-DASHで配信する場合も実質的にmanifestファイルだけ書き換えればいいので運用は圧倒的に楽になります。

HLSで独自の道を進んでいるという印象があるAppleですが、Microsoftと共に動画配信の効率化を目指してメディアストリーミング形式の“Common Media Application Format” (CMAF)をMPEGに提出して標準化手続きを進めてもいます。一方MicrosoftはEdgeでのHLSサポートをしており、NAB2016ではAzure Media ServicesにおいてFairPlayネイティブ実装が発表されました。他のブザウザにおいてもPlayer実装(※1)である程度カバー出来るのでコンシューマ向け配信を考えるとHLSだけでもどうにか出来なくもないですが、DRM問題含めMPEG-DASHでの配信需要も考えるとfMP4サポートによるMP4でのメディア管理一本化は非常に大きな一歩と言えます。

スマートフォン(タブレット)からの視聴比率が非常に高く、特に日本国内においてはiOSの比率が高いためHLSでの配信は欠かせません。また、Android端末(4.1以降)においてもHLS再生が可能なためモバイル端末向けにはHLSのみにしてしまうという判断はありえます。しかし、PC環境での再生を考えるとブラウザ実装とPlayer実装、双方の問題があるためにHLS一本化というわけにはいきません。そこでMPEG-DASHという選択肢が浮上してきます。

長年にわたる業界の怠慢によりいまだ消え去っていないFlashですが、先に発表があったGoogle Chrome、Microsoft Edgeに続き、WWDC2016でmacOS SierraにおいてSafariでのFlash Plug-inデフォルト停止が発表されました。この秋には主要ブラウザにおいて(デフォルトで)Flash動画が停止されます。
2016年秋のタイミングに向けて、動画配信形式とブラウザにおける再生環境はようやくFlashを葬り去る動きが本格化するでしょう。


 ※1)  HTTP Live Streaming JavaScript player(https://github.com/RReverser/mpegts