タイムシフトとライブ出力を使用してオンデマンドのビデオ再生を作成する

Media Services ロゴ v3


警告

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

Azure Media Services のライブ出力オブジェクトは、ライブ ストリームをキャッチして Media Services アカウントのアセットに記録するデジタル ビデオ レコーダーのようなものです。 記録されたコンテンツは、アセット リソースによって定義されたコンテナーに保持されます (コンテナーはアカウントに接続されている Azure Storage アカウントにあります)。 また、ライブ出力を使用すると、アーカイブの記録に残すストリームの量 (たとえば、クラウド DVR の容量) や、視聴者がライブ ストリームの視聴を開始できるタイミングなど、送信ライブ ストリームのいくつかのプロパティを制御することもできます。 ディスク上のアーカイブは、ライブ出力の archiveWindowLength プロパティで指定されているコンテンツ量のみを保持する循環アーカイブ "期間" です。 このウィンドウの範囲外のコンテンツは、ストレージ コンテナーから自動的に破棄され、復旧できません。 archiveWindowLength の値は、ISO-8601 形式で表された期間 (PTHH:MM:SS など) であり、DVR の容量を指定します。 その値は、最小 1 分から最大 25 時間までの範囲で設定できます。

ライブ イベントとそのライブ出力との関係は、従来の TV 放送と似ており、チャンネル (ライブ イベント) はビデオの連続したストリームを表し、録画 (ライブ出力) は特定の時間セグメント (たとえば、午後 6 時 30 分から午後 7 時 00 分までの夕方のニュース) を対象としています。 ストリームがライブ イベントに流れ始めると、アセット、ライブ出力、ストリーミング ロケーターを作成することにより、ストリーミング イベントを開始できます。 ライブ出力により、ストリームがアーカイブされ、ストリーミング エンドポイントを介して視聴者がストリームを使用できるようになります。 1 つのライブ イベントに、アーカイブの長さと設定の異なる複数のライブ出力 (最大 3 つ) を作成できます。 ライブ ストリーミング ワークフローの詳細については、「一般的な手順」のセクションを参照してください。

イベント中の DVR の使用

このセクションでは、イベント中に DVR を使用して、"巻き戻し" 機能を使用できるストリームの部分を制御する方法について説明します。

archiveWindowLength の値によって、視聴者が現在のライブ位置からどのくらい戻ることができるかが決まります。 archiveWindowLength の値では、クライアント マニフェストが拡大できる期間も決まります。

たとえば、フットボールの試合をストリーミングしていて、ArchiveWindowLength がわずか 30 分だとします。 試合の開始から 45 分にイベントの視聴を開始した視聴者は、最高で 15 分の時点まで戻ることができます。 ゲームのライブ出力は、ライブ イベントが停止されるまで続けられます。 archiveWindowLength の範囲外のコンテンツは、継続的にストレージから破棄され、復旧することはできません。 この例では、イベントの開始から 15 分までのビデオは DVR とアセットの BLOB ストレージ内のコンテナーから消去されています。 このアーカイブは復旧できず、Azure BLOB ストレージ内のコンテナーから削除されます。

ライブ イベントではライブ出力の同時実行が最大 3 つまでサポートされます (1 つのライブ ストリームから最大 3 つの記録/アーカイブを同時に作成できます)。 このサポートにより、1 つのイベントのさまざまな部分を必要に応じて発行したりアーカイブしたりできます。 たとえば、24 時間 365 日のライブ リニア フィードを配信し、顧客が見逃したコンテンツをオンデマンド視聴できるよう、終日プログラムの "記録" を作成するとします。 このシナリオではまず、プライマリ ライブ出力を、1 時間以下の短いアーカイブ ウィンドウで作成します。これは、視聴者が受信するプライマリ ライブ ストリームです。 このライブ出力のストリーミング ロケーターを作成し、アプリまたは Web サイトに "ライブ" フィードとして発行することになります。 ライブ イベントの実行中、同時実行される 2 つ目のライブ出力を、プログラムの開始 (または後でトリミングしやすいよう 5 分前) の時点でプログラムから作成できます。 この 2 つ目のライブ出力は、プログラムが終了して 5 分後に削除できます。 この 2 つ目のアセットを使用すると、新しいストリーミング ロケーターを作成して、アプリのカタログでオンデマンド アセットとしてこのプログラムを公開することができます。 オンデマンド ビデオとして共有したい他のプログラム範囲やハイライトについても、このプロセスを繰り返します。このプロセスはすべて、1 つ目のライブ出力の "ライブ" フィードがリニア フィードを配信し続ける最中に行うことができます。

rewindWindowLength の使用

ライブ出力の rewindWindowLength プロパティを使用して、ライブ イベント中に視聴者が後方にシークできる時間を制御することもできます。 この設定は、ライブ ストリーミング中にネットワーク経由でクライアントに配信されるマニフェスト サイズを小さくするのにも役立ちます。 ライブ ストリーミングのエクスペリエンスがより効率的になり、クライアントでのメモリ使用量が減る可能性があります。 ライブ出力が停止すると、アーカイブされたビデオでは上記の元のアーカイブ ウィンドウの長さが使用されます。

ストリームの完了後は、ライブ出力の archiveWindowLength プロパティによって定義されたアセット内でアーカイブ済みファイルにアクセスできます。 これにより、プレイヤーに表示される前の "DVR スライディング ウィンドウ" 期間とは異なるアーカイブ期間を設定できます。

これは、プレーヤーで非常に小さな時間シフト ウィンドウでストリーミングするが、ライブ イベント全体を出力アセットにアーカイブする場合に非常に便利です。

rewindWindowLength を最小値の 60 秒に設定できます。

LowLatencyV2 を使用してライブ イベントを作成する場合、既定値は 30 分です。

ライブ出力の要求を送信する場合は、プロパティに rewindWindowLength を含めます。 下の REST の例では、PT1H30M を使用して、巻き戻しウィンドウの長さが 1 時間 30 分であることを示しています。


{
  "properties": {
    "description": "test live output 1",
    "assetName": "6f3264f5-a189-48b4-a29a-a40f22575212",
    "archiveWindowLength": "PT5M",
    "rewindWindowLength": "PT1H30M",
    "manifestName": "testmanifest",
    "hls": {
      "fragmentsPerTsSegment": 5
    }
  }

オンデマンド再生用のアーカイブの作成

ライブ出力アセットは、ライブ出力が削除されると、自動的にオンデマンド アセットになります。 ライブ イベントを停止するには、すべてのライブ出力を削除する必要があります。 (オプションのフラグ removeOutputsOnStop を使用して、停止時にライブ出力を自動的に削除できます)。アセットを削除しない限り、ユーザーはアーカイブされたコンテンツをオンデマンドでストリーミングできます。

Note

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

ストリーミング ロケーターを使用してライブ出力のアセットを発行した場合、ライブ イベント (DVR ウィンドウの長さまで) は、ストリーミング ロケーターの有効期限まで、または削除するまで、どちらか早い方のタイミングまで引き続き表示できます。

詳細については、次を参照してください。

ヘルプとサポート

Media Services に質問がある場合は、次のいずれかの方法で更新プログラムに従ってください。

  • Q & A
  • Stack Overflow。 質問に タグを付け、 を使用します azure-media-services
  • @MSFTAzureMedia するか 、@AzureSupport を使用してサポートを要求します。
  • Azure portalからサポート チケットを開きます。