Azure Media Services のビデオ処理に関する最新情報

10月 17, 2018 に投稿済み

Principal Program Manager, Azure Media Services

さまざまな開発者やメディア企業が、ビデオのエンコード、保護、インデックス作成、配信を大規模に行うことができる Azure Media Services に信頼を寄せ、利用しています。今週は、新しい Azure Media Services v3 API の一般提供をはじめとする Media Services のさまざまな機能強化と、Azure Media Player の更新についてお知らせします。

待ち時間の短いライブ ストリーミング、24 時間対応のコード変換、CMAF、および運用環境ですぐに利用可能な最新の API (v3)

Azure Media Services v3 API は、2018 年 5 月の Build カンファレンスで発表されました。v3 API では、シンプルになった開発モデルの導入のほか、Event Grid や Functions といった重要な Azure サービスとの統合エクスペリエンスの強化などが行われています。この API は現在一般提供されており、すばらしい新機能が多数追加されています。プレビュー API をベースに構築したワークロードについては、運用環境での使用に向けた移行に今すぐ着手できます。

新機能

新しい Media Services v3 API は、Media Services をご利用のお客様にとって、開発者エクスペリエンス強化の大きなマイルストーンになります。この新しい API には、.NET、.NET Core、Java、Go、Python、Ruby、Node.js 用の一連の SDK が用意されています。さらに、次の重要なシナリオのサポートが含まれています。

待ち時間の短いライブ ストリーミングと 24 時間対応のコード変換

v2 API の Channel エンティティの代わりとなる LiveEvent には、サービスの大規模な機能強化がいくつか施されています。

ライブ イベントのストリーム配信における待ち時間の短縮を求める声がよく寄せられていました。今回、v3 API の LiveEvent エンティティでのみ、待ち時間の短い新しいライブ ストリーミング モデルを利用できるようになりました。このモデルでは、Azure Media Player の待ち時間の短い新しいヒューリスティック プロファイルと組み合わせて使用した場合に、8 秒というエンドツーエンドの待ち時間がサポートされます (Apple iOS デバイスでのネイティブ HLS 再生の場合は約 10 秒)。より小さい 1 秒の GOP サイズを使用するようにライブ エンコーダーを構成するだけで、小規模または中規模のオーディエンスにコンテンツを配信する際の全体的な待ち時間をすぐに短縮できます。もちろん、エンドツーエンドの待ち時間は、ローカル ネットワークの状態や、CDN キャッシュ レイヤーの導入によって変動する可能性があります。待ち時間は変動する可能性があるため、実際の構成をテストしてください。

待ち時間の短いソリューションの強化は今後も継続していきます。先月、オープン ソースの SRT Alliance に参加することを発表しましたが、これは、Azure への待ち時間の短いライブ ストリーミングと、クラウドへの安全かつ信頼性の高い取り込みの強化に役立つものです。この発表の一環として、LiveEvent に SRT 取り込みプロトコルのサポートを追加する取り組みを既に開始しています。

新しい LowLatency 機能を使用するには、LiveEvent の StreamOptionsFlag を LowLatency に設定します。

FE39240A-E58B-4773-B137-891FFAF7141A

ストリームの準備ができたら、Azure Media Player のデモ ページを使用し、"Low Latency Heuristic Profile" を使用するように再生オプションを設定します。

[Low Latency Heuristic Profile] (待ち時間の短いヒューリスティック プロファイル) の選択

次に、ライブ ビデオをストリーム配信する場合、長時間のストリーミング イベント向けに 2 つのオプションが用意されています。リニア (24 時間 365 日の) ライブ ストリームを行う必要がある場合は、オンプレミスのエンコーダーと、コード変換しない "パススルー" の LiveEvent を使用します。クラウドでのライブ エンコードが必要な場合、v2 API では実行時間が 8 時間に制限されていました。ライブ コード変換時間のサポートが強化され、新しい LiveEvent イベントを使用した場合に最長 24 時間になりました。このことをお知らせできるのを非常にうれしく思います。

最後に、MediaExcel、Telestream Wirecast、Haivision KB、Switcher Studio からの最新リリースなど、更新された RTMP ベースのエンコーダーをいくつか Microsoft で検証しました。

Event Grid と Azure Resource Manager を使用した開発がさらに楽に

メディアを対象とした Azure ソリューション全体の開発エクスペリエンスをさらに楽にするために、一般的な操作に関する通知が Azure Event Grid を通じてこれまでよりも多く提供されるようになりました。カスタム メディア アプリケーションの統合を強化するために、Job 操作と JobOutput 操作からの状態変更イベントをサブスクライブできるようになりました。Transform でカスタム ワークフローを作成する場合は、Job オブジェクトで独自の関連付けデータを指定できます。この関連付けデータは、Event Grid を通じて受け取った通知から抽出して、サード パーティのメディア資産管理システムとの統合や、マルチテナント アプリケーションの一般的な問題を解決するワークフローの作成に役立てることができます。ライブ ストリームを監視する場合は、ライブ取り込みハートビートなどの新しいイベントや、上流ライブ エンコーダーからの接続イベントと切断イベントを使用できます。

コード、Logic Apps、Functions、または Azure portal を介して任意の Media Services イベントをサブスクライブできます。

イベント サブスクリプションの作成

v3 API 向けの Azure Resource Management (ARM) に移行すると、変換、ライブ イベント、DRM キー、ストリーミング エンドポイント、資産を管理する際に次のベネフィットが得られます。

  1. ARM テンプレートを使用したデプロイが簡単になる。
  2. ロールベースのアクセス制御 (RBAC) を適用できるようになる。

取り込みと資産の作成がシンプルに

これまで、Media Services にコンテンツを取り込むには、Azure Storage へのファイルのコピーや、Asset と AssetFile の作成など、複数の手順が必要でした。新しい API では、SAS URL を使って Azure Storage 内の既存のファイルを参照するだけで済むにようになったほか、HTTP(s) でアクセス可能な任意の URL から取り込むことも可能です。

var input = new JobInputHttp(
                     baseUri: "https://nimbuscdn-nimbuspm.streaming.mediaservices.windows.net/2b533311-b215-4409-80af-529c3e853622/",
                     files: new List<String> {"Ignite-short.mp4"}
                     );

また、Azure Blob Storage での資産の作成も簡略化するために、コンテナー名を直接設定できるようにしました。これで、Storage API を使って、ファイルをコンテナーに追加できます。既存の v2 資産も新しい API で引き続き利用できます。ただし、v3 資産には下位互換性がありません。

MPEG CMAF を使ったストリーム配信とダイナミック パッケージ

このサービスでは、最新の MPEG Common Media Application Format (CMAF) と "cbcs" 暗号化の公式サポートをリリースしました。CMAF は、正式には MPEG-A Part 19 または ISO/IEC 23000-19 と呼ばれています。これは、暗号化された単一のアダプティブ ビットレート形式を使って、Apple iPhone、Android、Windows といったさまざまなデバイスにストリーミング メディアを格納および配信する新しいマルチメディア ファイル形式です。この共通形式により、ストリーミング サービス プロバイダーには、相互運用性の向上、待ち時間の短いストリーミング、CDN キャッシュの効率の向上というベネフィットがもたらされます。

新しい CMAF 形式を使用するには、ストリーミング URL に次の新しい "format=" タグを追加し、適切なマニフェストの種類として HLS (iOS デバイスの場合) または DASH (Windows または Android デバイスの場合) を選択するだけで済みます。

CMAF 形式のコンテンツの MPEG DASH マニフェストの場合は、以下のように "format=mpd-time-cmaf" を使います。

https://<<your-account-name>>.streaming.media.azure.net/<<locator-ID>>/<<manifest-name>>.ism/manifest(format=mpd-time-cmaf)

CMAF 形式のコンテンツの HLS マニフェストの場合は、以下のように "format=m3u8-cmaf" を使います。

https://<<your-account-name>>.streaming.media.azure.net/<<locator-ID>>/<<manifest-name>>.ism/manifest(format=m3u8-cmaf)

コマンド ラインを使った Media Services の管理

最後に、Media Services 向けの Azure CLI 2.0 モジュールを更新して、v3 API のすべての機能を含めました。最終的な Media Services CLI モジュールは、2018 年 10 月 23 日にリリースされ、ダウンロードしたり、Cloud Shell 内から直接使用したりできるようになります。この CLI は、Media Services のスクリプトを簡単に作成できるよう設計されています。この CLI を使って、ジョブの実行、ライブ イベントの作成、カスタム変換の作成、コンテンツ キーの管理などを目的とするクエリを実行できます。この CLI モジュールにも、ストリーミング エンドポイント、コンテンツ キー ポリシー、動的マニフェスト フィルターのサポートが含まれています。

CE05FFEB-4B2C-4F51-A02D-073A5648967B

以下のクイック スタート チュートリアルに従って、新しい API をお試しください。

つながりましょう

先月一般提供に移行した Video Indexer もぜひご確認ください。これらの更新に関するご意見をお待ちしております。MSDN フォーラムで質問したり、Stack Overflow で質問を送信したり、Azure Media ServicesVideo Indexer の User Voice サイトで新しいアイデアを投稿したりできます。また、Twitter (@MSFTAzureMedia@Video_Indexer) でお寄せいただいてもかまいません。