CMAF Ingestについて

meteor
·

AWS Elemental MediaLiveでローンチされたCMAF Ingestですが、何っていう人が大半だと思います。

このCMAF Ingestですが、Interface 1 と Interface 2の二種類があります。

Interface 1 (CMAF Ingest)

そもそもCMAFとは何かというと、色々な情報が出てきますが、社内でも口を酸っぱく Fragmented MP4 (fmp4) であるといいまくっています。

CMAFはあくまでもメディアフォーマットの名前で、中身はISOBMFFのファイルです。要するに fmp4 です。

ISOBMFFは、H.264やH.265だけではなく、AV1など、幅広いフォーマットに対応しています。(https://aomediacodec.github.io/av1-isobmff/)

Interface 1では、ISOBMFFの中にあるMovieFragmentBoxをHTTPで送る方式となっています。

CMAFといえば、CMAF-ULLを思い浮かべる人も多いかと思いますが、CMAF-ULLの場合、HTTP/1.1のChunked-Transfer Encodingを使って、fmp4ファイルを部分転送を行っていました。これにより、moofを効率的に送ることが出来るので、受け取り側はストリームの完成を待たずとも受け取ったものをバッファプールに貯めておけるので、再生の遅延が短くなるというものでした。

Interface 1でも、Chunked-Transfer Encodingを使うこともできますが、従来通りHTTPでPOSTし続けるやり方も可能です。

Interface 1では、CMAFヘッダーと呼ばれるトラックの初期情報が入ってるものを受け取り、そこからCMAFセグメントをPOSTし続けます。なお、CMAFヘッダーの代わりにmpdプレイリストを使うことも可能です。

Interface 2(DASH and HLS Ingest)

YouTube Liveなどでは既にサポートされているHLSマニフェストとセグメントを指定されたWebDAVにPUTし続けるのが、Interface 2です。

元々、これらWebDAVの仕組みはあったものの、仕様として統一はされていませんでした。

これを仕様化したのが Interface 2 です。


Interface 1とInterface 2の紹介をしてきましたが、AWS Elemental MediaLiveがサポート始めたのは前者です。

Interface 2もそのうちサポート始めるかもしれませんが、需要としてはどうなんでしょう?

@yaminoma
NAXA株式会社 Founder / CEO。マルチメディアリサーチャーとして動画技術の研究なども行なっている。 Netflixで好きな番組は Test Patterns です。 何かあれば www.naxa.co.jp/contact までお願いします。