ドキュメントに載っていない箇所でつまづいたので所感を書いておきます。入力ファイルがm3u8の場合、親子構造でなければならない。公式フォーラムにも載っていたんですが、m3u8ファイルを入力に使う場合は、親子構造のマニフェストでなければうまくパッケージングしてくれませんでした。ためしに単一のマスターファイルのみの構成のm3u8ファイルを入力すると、結果的に生成されたurlは404になるようでした(CloudWatchLogsを設定していればログに出る)。MediaPackageではABRできるようなのでその都合上親子構造である必要があるんだと思います。Convertでmp4ファイルをm3u8にトランスコードしてみると、親子構造でマニフェストファイルが生成されたので、そういうことなんでしょう。SAMPLE-AES(Fairplay)でマニフェストを生成した時のext-x-versionは5ext-x-versionタグは、HLSにおいてファイルのバージョン互換性を示すためのタグです。詳細はApple公式のHLSドキュメントに書いてあります。https://developer.apple.com/documentation/http_live_streaming/about_the_ext-x-version_tagMediaPackageでHLSなコンテンツを暗号化/DRMする際、AES128暗号化とSAMPLE-AESというアルゴリズムでのDRMがサポートされていますが、FairplayでDRMする際はSAMPLE-AESが用いられます。このSAMPLE-AESがサポートされてるのはdocumentによるとext-x-version5以上のようでした。MediaPackageでは最低対応バージョンの5でマニフェストが生成されるようです。ちなみにDRMもAES128暗号化もなしで普通のHLSでパッケージングした時のext-x-versionは、下記のように3で生成されていました。吐き出されるmp4の形式がライブに引っ張られてる?吐き出されたmp4のセグメントをみてみると、ヘッダーに本来なければならない動画の長さの情報が格納されていませんでした(DASHにおいて)。推測ですが、もともとMediaPackageにはライブ動画のパッケージング機能しかなかったためライブの動画形式を引きずっているのではないかと思われます。動画長が格納されていなくとも再生できないことはありませんが、後々対応して欲しいところですね。パッケージングが終わってなくてもurlが生成されるかも4GB程度あるmp4コンテンツをパッケージングしてみたところ、アセット生成後すぐにurlが作成されましたが、そのurlにアクセスしてみると404になりました。数秒後に再度アクセスしてみると正常にマニフェストファイルがロードされるという現象が発生。このことから、MediaPackageではパッケージングが完全に終了していなくともコンパネ上でとりあえず先にurlを表示する仕様になっていると思われます。この辺は、CloudWatchEventsでパッケージングの終了をフックできるので、何かシステムを作るときはパッケージングの終了をフックにコンテンツを公開させる、みたいなことができそうです。ElementalにはSPEKEというDRM周辺機能があります。https://docs.aws.amazon.com/speke/latest/documentation/what-is-speke.htmlこちら側で用意したカスタムなDRMロジックを用いてコンテンツをDRMできる機能らしいです。Assets作成時にDRMを施すことができます。先述のSPEKEのI/Oインターフェースに準拠したキーサーバを構築して、パッケージングの際にそのURLを指定するとあら不思議。裏側でキーサーバが返したキーを使ってDRMしてくれるっぽいです。EncryptionにならってDASHにコンテンツ保護情報が2つ埋め込まれるかと思いきや1つしか埋め込まれませんでした。Configuretionの設定画面です。DRMの設定をするとMediaPackageが裏で自動でキーサーバにキーをリクエストしてくれます。IDsのところにDRMのIDを指定すると、リクエストボディの内容が自動で動的に代わり、どのDRM向けにキーを生成すれば良いのかキーサーバ側で判別できるようになります。)1回のリクエストで2つ分のDRM情報が送られてくるかと思いきや、最初に指定したSystemIDのDRM情報しか送られてこない現象が無限に続きました。2回キーサーバへのリクエストが飛ぶかと思いきや、1回目のリクエストだけで終わるという。後々フォーラムで質問飛ばしてみたいと思います。キープロバイダはRTT2秒程度でタイムアウトするキーサーバの処理にsleep()を挟み、RTTを少しづつ伸ばすという実験をしてみたところだいたいRTT2秒でパッケージング処理がタイムアウトしました。セグメント長の設定が反映されないかも?セグメント長は、HLSの場合デフォルトで6秒、DASHやCMAFの場合は2秒になっていましたが、生成されたファイルを見てみると設定秒数に関係なく10秒程度になっていました。何かこちら側の他の設定が悪いのか、原因はわかりませんがフォーラムに問い合わせてみようと思います。C++.FollowDMM.com総合エンタテイメントサイト「DMM.com」を運営。会員数は2,900万人を突破。動画配信、FX、英会話、ゲーム、太陽光発電、3Dプリンタなど40以上のサービスを展開。沖縄での水族館事業参入、ベルギーでのサッカークラブ経営など、様々な事業を手掛ける。VENTURES」による出資や、M&Aなどを積極的に展開している。