Azure Media Services v3 を使用したライブ ストリーミング

Media Services ロゴ v3


警告

Azure Media Services は、2024 年 6 月 30 日に廃止されます。 詳細については、 AMS 廃止ガイドを参照してください。

Azure Media Services では、Azure クラウドで顧客にライブ イベントを配信することができます。 Media Services でライブ イベントをストリーミングするには、カメラ (またはラップトップなどの別のデバイス) からの信号を Media Services に送信されるコントリビューション フィードに変換するライブ ビデオ エンコーダーを設定する必要があります。 投稿フィードでは、SCTE-35 マーカーなどの広告に関連する信号を含めることができます。 推奨されるライブ ストリーミング エンコーダーの一覧については、ライブ ストリーミング エンコーダーに関するページを参照してください。

オンプレミス エンコーダーを使用したことがない場合は、「 OBS を使用して Azure Media Services ライブ ストリームを作成する 」クイック スタートをお試しください。

ダイナミック パッケージと配信

Media Services を使用すると、 ダイナミック パッケージを利用できます。これにより、コントリビューション フィードから MPEG DASH、HLS、Smooth Streaming 形式でライブ ストリームをプレビューおよび ブロードキャストできます。 視聴者は、HLS、DASH、またはスムーズ ストリーミングと互換性のある任意のプレーヤーを使用して、ライブ ストリームを再生できます。 テスト済みのプレーヤーの一覧を参照し、Media Services のサード パーティ製プレーヤー のサンプルを試してください。

ライブ イベントの種類

ライブ イベント は、ライブ ビデオ フィードを取り込んで処理します。 ライブ イベントは、次のいずれかに設定できます。

  • オンプレミスライブ エンコーダーが複数のビットレート ストリームを送信する場合、または
  • オンプレミスのライブ エンコーダーが単一のビットレート ストリームを送信する場合のライブ エンコード。 ライブ出力の詳細については、「 ライブ イベントとライブ出力」を参照してください。

パススルー

パススルー ライブ イベント (基本的または標準) を使用する場合は、オンプレミス ライブ エンコーダーを活用して、マルチ ビットレート ビデオ ストリームを生成し、(RTMP または Fragmented MP4 入力プロトコルを使用して) ライブ イベントへの投稿フィードとして送信します。 その後、ライブ イベントは、それ以上の処理を行わずに、受信ビデオ ストリームを動的パッケージャー (ストリーミング エンドポイント) に渡します。 パススルー ライブ イベントは、実行時間の長いライブ イベントまたは 24 時間 365 日の線形ライブ ストリーミング用に最適化されています。

パススルー ストリーミング

ライブ エンコード

ライブ エンコードを使用するには、(RTMP または fragmented-MP4 入力プロトコルを使用して) 1 つのビットレート ビデオ (最大 32 Mbps 集計) をライブ イベントに送信するようにオンプレミスのライブ エンコーダーを構成します。 Live Event は、受信シングル ビットレート ストリームをさまざまな解像度で複数のビットレート ビデオ ストリームにトランスコードします。 これにより、MPEG-DASH、Apple HTTP ライブ ストリーミング (HLS)、Microsoft Smooth Streaming などの業界標準のプロトコルを使用した再生デバイスの配信が向上します。

ライブ エンコード ストリーミング

ライブ イベントのオプション

動的な暗号化

動的暗号化では、AES-128 または 3 つの主要なデジタル著作権管理 (DRM) システムのいずれかを用いて、ライブまたはオンデマンドのコンテンツを動的に暗号化できます。コンテンツを配信できます。 Media Services では、承認されたクライアントに AES キーと DRM (PlayReady、Widevine、FairPlay) ライセンスを配信するためのサービスも提供しています。 詳細については、動的暗号化に関するページを参照してください。

Widevine は Google Inc. によって提供されるサービスであり、Google Inc. の利用規約とプライバシー ポリシーが適用されます。

動的フィルター

動的フィルターを使用することで、プレーヤーに送信されるトラック数、形式、ビットレート、プレゼンテーションの時間枠を制御できます。 詳細については、フィルターと動的マニフェストに関するページを参照してください。

ライブ文字起こし

ライブ文字起こしは、パススルーまたはライブ エンコードのいずれかであるライブ イベントで使用できる機能です。 詳細については、ライブ文字起こしに関するページを参照してください。 この機能が有効になっている場合、このサービスでは Cognitive Services の音声テキスト変換機能を使用して、受信したオーディオの音声を文字起こししてテキストにします。 その後、このテキストは、MPEG-DASH および HLS プロトコルのビデオとオーディオで配信できるようになります。

重要

ライブ イベントには 2 秒の GOP サイズを使用する "必要があります"。 ライブ文字起こしを行うパススルー ライブ イベントでは、正しい文字起こしデータを取得するために、4 秒以下の GOP サイズを使用する "必要があります"。 より大きい GOP サイズを使用することを選択した場合、文字起こしデータに欠陥 (コンテンツの欠落など) が出る可能性があります。

クローズド キャプション、字幕、時間指定メタデータの配信のセキュリティに関する考慮事項

Azure Media Services の動的な暗号化と DRM 機能には、ライブ文字起こし、キャプション、字幕、または時間指定メタデータを含むコンテンツの配信を保護するにあたって、考慮すべき制限があります。 PlayReady、FairPlay、Widevine などの DRM サブシステムは、テキスト トラックの暗号化とライセンスに対応していません。 テキスト トラックの DRM 暗号化がないため、ライブ文字起こし、手動で挿入したキャプション、アップロードした字幕、または個別のトラックとして挿入される可能性のある、時間指定メタデータ信号のコンテンツを保護する機能が制限されます。

キャプション、字幕、または時間指定メタデータ トラックを保護するには、次のガイドラインのいずれかに従ってください:

  1. AES-128 クリア キー暗号化を使います。 AES-128 クリア キー暗号化を有効にすると、オーディオやビデオ セグメントと同じ暗号化パターンに従う、完全な "エンベロープ" 暗号化技術を使って、テキスト トラックを暗号化するように構成できます。 これらのセグメントは、認証された JWT トークンを使って Media Services キー配信サービスから復号化キーを要求した後、クライアント アプリケーションによって復号化できます。 この方法は Azure Media Player でサポートされていますが、すべてのデバイスでサポートされているとは限りません。また、すべてのプラットフォームで機能するように、クライアント側の開発作業が必要になる場合があります。
  2. CDN トークン認証を使って、CDN ポータルの geo、IP、またはその他の構成可能な設定に制限されている、短い形式のトークン化された URL で配信されるテキスト (字幕、キャプション、メタデータ) トラックを保護します。 Media Services のストリーミング エンドポイントに接続するように構成された Verizon Premium CDN や、その他のサードパーティ CDN を使って、CDN セキュリティ機能を有効にします。

警告

上記のガイドラインのいずれかに従わなかった場合、字幕、キャプション、または時間指定メタデータ テキストは、暗号化されていないコンテンツとしてアクセス可能になり、目的のクライアント配信パス以外で傍受されたり、共有されたりする可能性があります。 これにより、情報が漏洩するおそれがあります。 安全な配信というシナリオでキャプションまたは字幕のコンテンツが漏洩するのではないかと懸念される場合は、コンテンツ配信の保護について、上記のガイドラインの詳細を Media Services サポート チームまでお問い合わせください。

ライブ ストリーミング ワークフロー

Media Services v3 のライブ ストリーミング ワークフローを理解するには、まず次の概念を確認して理解する必要があります。

一般的な手順

  1. Media Services アカウントで、ストリーミング エンドポイント (配信元) が実行されていることを確認します。

  2. ライブ イベントを作成します。
    イベントの作成時に、そのイベントを自動開始するように設定できます。 または、ストリーミングを開始する準備ができたら、イベントを開始できます。
    自動開始が true に設定されている場合、ライブ イベントは作成の直後に開始されます。 ライブ イベントの実行が開始されるとすぐに課金が開始されます。 それ以上の課金を停止するには、ライブ イベント リソースの Stop を明示的に呼び出す必要があります。 詳細については、ライブ イベントの状態と課金に関するページを参照してください。

  3. 取り込み URL を取得し、その URL を使用して投稿フィードを送信するようにオンプレミス エンコーダーを構成します。
    おすすめのライブ エンコーダー」を参照してください。

  4. プレビュー URL を取得し、それを使用して、エンコーダーからの入力が実際に受信されていることを確認します。

  5. 新しいアセット オブジェクトを作成します。

    各ライブ出力はアセットに関連付けられており、ビデオを関連する Azure BLOB ストレージ コンテナーに記録するために使用されます。

  6. ストリームをアセットにアーカイブできるように、ライブ出力を作成し、作成したアセット名を使用します。

    ライブ出力は作成すると開始され、削除されると停止します。 ライブ出力を削除しても、基になるアセットとアセット内のコンテンツは削除されません。

  7. 組み込みのストリーミング ポリシーの種類ストリーミング ロケーターを作成します。

    ライブ出力を公開するには、関連付けられたアセット用にストリーミング ロケーターを作成する必要があります。

  8. 使用する URL を返すためのパスをストリーミング ロケーターに列挙します (これらは決定論的です)。

  9. ストリーミングするストリーミング エンドポイント (配信元) のホスト名を取得します。

  10. 手順 8.の URL と手順 9 のホスト名を組み合わせて、完全な URL を取得します。

  11. ライブ イベントの公開をやめる場合は、イベントのストリーミングを停止し、ストリーミング ロケーターを削除する必要があります。

  12. ストリーミング イベントが完了し、以前にプロビジョニングされたリソースをクリーンアップする場合は、次の手順に従います。

    • エンコーダーからのストリームのプッシュを停止します。
    • ライブ イベントを停止します。 ライブ イベントが停止した後は、いかなる課金も発生しません。 もう一度開始する必要がある場合、取り込み URL は同一になるため、エンコーダーを再構成する必要はありません。
    • ライブ イベントのアーカイブをオンデマンド ストリームとして提供し続けるのでない限り、ストリーミング エンドポイントを停止できます。 ライブ イベントが停止状態の場合は、いかなる課金も発生しません。 ただし、ストリーミング エンドポイントがまだ実行されている場合は、料金が発生します。

ライブ出力がアーカイブされるアセットは、ライブ出力が削除されると、自動的にオンデマンド アセットになります。 ライブ イベントを停止するには、すべてのライブ出力を削除する必要があります。 省略可能なフラグ removeOutputsOnStop を使用すると、停止時にライブ出力を自動的に削除できます。

ヒント

ライブ ストリーミングのチュートリアルに関するページを参照してください。この記事では、前述の手順を実装するコードについて説明します。

その他の重要な記事

ライブ ストリーミングの FAQ

FAQ のライブ ストリーミングの質問に関するページを参照してください。

ヘルプとサポート

質問がある場合は Media Services に問い合わせるか、次のいずれかの方法で更新内容に従ってください。