CDN 統合を使用してコンテンツをストリーミングする

Media Services ロゴ v3


警告

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

大事な

Azure Media Services は 2024 年 6 月 30 日の時点で廃止され、Azure CDN は 2023 年 10 月 31 日に Akamai から Azure CDN Standard を廃止します、Azure Media Services で使用する新しい CDN を作成しないことをお勧めします。 Azure Media Services の廃止ガイド を参照してください。

Azure Content Delivery Network (CDN) は、世界中の戦略的に配置された物理ノードでコンテンツをキャッシュすることで、高帯域幅のコンテンツをユーザーに迅速に配信するためのグローバル ソリューションを開発者に提供します。

CDN は、Media Services ストリーミング エンドポイント (配信元) からストリーミングされたコンテンツをコーデックごと、ストリーミング プロトコルごと、ビットレートごと、コンテナー形式ごと、および暗号化/DRM ごとに キャッシュします。 コーデック ストリーミング プロトコルコンテナー形式ビットレート暗号化の組み合わせごとに、個別の CDN キャッシュが存在します。

ビデオ フラグメントがキャッシュされている限り、人気のあるコンテンツは CDN キャッシュから直接提供されます。 ライブ コンテンツは、通常、まったく同じことを見ている多くのユーザーがいるため、キャッシュされる可能性があります。 人気のあるコンテンツとそうでないコンテンツがある可能性があるため、オンデマンド コンテンツは少し複雑になる可能性があります。 何百万もの動画アセットがあり、どの動画も人気がない場合 (1 週間に 1 人または 2 人の視聴者のみ)、何千人ものユーザーがさまざまなビデオを視聴している場合、CDN の効果は大幅に低下します。

また、アダプティブ ストリーミングのしくみも考慮する必要があります。 個々のビデオ フラグメントは、独自のエンティティとしてキャッシュされます。 たとえば、特定のビデオが初めて視聴されたとします。 視聴者が数秒しか見ない場合、その人が視聴した内容に関連付けられたビデオ フラグメントのみが CDN にキャッシュされます。 アダプティブ ストリーミングでは、通常、ビデオのビットレートが 5 ~ 7 になります。 あるユーザーが 1 つのビットレートを視聴していて、別のユーザーが異なるビットレートを視聴している場合、それらはそれぞれ CDN に個別にキャッシュされます。 2 人が同じビットレートを視聴している場合でも、異なるプロトコルでストリーミングしている可能性があります。 各プロトコル (HLS、MPEG-DASH、Smooth Streaming) は個別にキャッシュされます。 そのため、各ビットレートとプロトコルは個別にキャッシュされ、要求されたビデオ フラグメントのみがキャッシュされます。

テスト環境を除き、Standard と Premium の両方のストリーミング エンドポイントに対して CDN を有効にすることをお勧めします。 ストリーミング エンドポイントの種類ごとに、サポートされるスループット制限が異なります。

考慮すべきさまざまな要因があるため、ストリーミング エンドポイントでサポートされる同時ストリームの最大数を正確に計算することは困難です。 次に示します。

  • ストリーミングに使用される最大ビットレート
  • プレイヤーのプリバッファーと切り替え動作。 プレイヤーは、配信元からセグメントをバーストし、読み込み速度を使用してアダプティブ ビットレートの切り替えを計算しようとします。 ストリーミング エンドポイントが飽和状態に近づくと、応答時間が変わる可能性があり、プレイヤーはより低い品質に切り替え始めます。 これによりストリーミング エンドポイント プレイヤーの負荷が軽減されるため、高品質にスケール バックして不要な切り替えトリガーを作成します。

全体的に、ストリーミング エンドポイントの最大スループットを使用して最大同時ストリームを推定し、これを最大ビットレートで割ることは安全です (すべてのプレイヤーが最高ビットレートを使用していると仮定します)。たとえば、600 Mbps に制限され、最高ビットレートが 3 Mbp の Standard ストリーミング エンドポイントを使用できます。 この場合、上位ビットレートで約 200 の同時ストリームがサポートされます。 オーディオ帯域幅の要件も考慮に入れないでください。 オーディオ ストリームは 128 kps でのみストリーミングできますが、同時ストリームの数を乗算すると、ストリーミングの合計がすぐに加算されます。

このトピックでは、CDN 統合有効にする方法について説明します。 また、プリフェッチ (アクティブ なキャッシュ) と、Origin-Assist CDN プリフェッチの の概念についても説明します。

考慮 事項

  • ストリーミング エンドポイントのhostname とストリーミング URL は、CDN を有効にしたかどうかにかかわらず変わりません。
  • CDN の有無にかかわらずコンテンツをテストする機能が必要な場合は、CDN が有効になっていない別のストリーミング エンドポイントを作成します。

Azure CDN 統合を有効にする

大事な

試用版または学生の Azure アカウントに対して CDN を有効にすることはできません。

CDN 統合は、連邦政府と中国のリージョンを除くすべての Azure データ センターで有効になります。

ストリーミング エンドポイントが CDN を有効にしてプロビジョニングされると、ストリーミング エンドポイントを CDN エンドポイントにマップするために DNS の更新が行われる前に、Media Services で定義された待機時間が発生します。

後で CDN を無効または有効にする場合は、ストリーミング エンドポイントが 停止 状態である必要があります。 ストリーミング エンドポイントが開始されると、Azure CDN 統合が有効になり、すべての CDN POP で変更がアクティブになるまでに最大 4 時間かかることがあります。 ただし、ストリーミング エンドポイントから中断することなく、ストリーミング エンドポイントとストリームを開始できます。 統合が完了すると、ストリームは CDN から配信されます。 プロビジョニング期間中、ストリーミング エンドポイントは 開始 状態になり、パフォーマンスが低下する可能性があります。

Standard ストリーミング エンドポイントが作成されると、既定で Standard Verizon で構成されます。 REST API を使用して、Premium Verizon または Standard Akamai プロバイダーを構成できます。

Azure Media Services と Azure CDN の統合は、標準ストリーミング エンドポイント Azure CDN from Verizon に実装されます。 Premium ストリーミング エンドポイントは、Standard Verizon または Premium Verizon を使用して構成できます。 Standard Akamai は、REST API またはクライアント SDK を使用してのみ構成できます。

手記

Azure CDN の詳細については、CDN の概要を参照してください。

DNS 変更が行われたかどうかを確認する

https://www.digwebinterface.comを使用して、ストリーミング エンドポイント (トラフィックが Azure CDN に送信されている) で DNS 変更が行われたかどうかを確認できます。 結果に azureedge.net ドメイン名が表示された場合、トラフィックは CDN を指しています。

Origin-Assist CDN-Prefetch

CDN キャッシュはリアクティブ プロセスです。 CDN が要求される次のオブジェクトを予測できる場合、CDN は次のオブジェクトを事前に要求してキャッシュできます。 このプロセスを使用すると、すべての (またはほとんどの) オブジェクトに対してキャッシュ ヒットを実現できるため、パフォーマンスが向上します。

プリフェッチは、オブジェクトがプレイヤーによって差し迫って要求されることを予測して、オブジェクトを "インターネットの端" に配置し、そのオブジェクトをプレイヤーに配信する時間を短縮するよう努めています。

この目標を達成するには、ストリーミング エンドポイント (配信元) と CDN が 2 つの方法で連携する必要があります。

  • Media Services の配信元には、次にプリフェッチするオブジェクトを CDN に伝える "インテリジェンス" (Origin-Assist) が必要です。
  • CDN はプリフェッチとキャッシュを実行します (CDN プリフェッチ部分)。 CDN には、次の "インテリジェンス" も必要です。
    • プリフェッチか通常のフェッチかを配信元に伝える
    • 404 応答を処理する
    • 無限プリフェッチループを回避する方法

利点

Origin-Assist CDN プリフェッチ 機能の利点は次のとおりです。

  • プリフェッチでは、再生中に予想されるビデオ セグメントをエッジに事前に配置し、ビューアーの待機時間を短縮し、ビデオ セグメントのダウンロード時間を短縮することで、ビデオ再生品質が向上します。 これにより、ビデオの起動時間が短縮され、リバッファーの発生が少なくなります。
  • この概念は、一般的な CDN 配信元のシナリオに適用され、メディアに限定されるわけではありません。
  • Akamai では、この機能を Akamai Cloud Embed (ACE)に追加しました。

手記

この機能は、Media Services ストリーミング エンドポイントと統合された Akamai CDN には適用されません。 ただし、既存の Akamai コントラクトを持ち、Akamai CDN と Media Services 配信元の間でカスタム統合が必要な Media Services のお客様が利用できます。

しくみ

akamai CDN と直接契約しているお客様は、Origin-Assist CDN-Prefetch ヘッダー (ライブ およびビデオ オンデマンド ストリーミングの両方) に対する CDN サポートを利用できます。 この機能には、Akamai CDN と Media Services の配信元との間で、次の HTTP ヘッダー交換が含まれます。

HTTP ヘッダー 価値観 差し出し人 受話器 目的
CDN-Origin-Assist-Prefetch-Enabled 1 (既定値) または 0 CDN CDN がプリフェッチが有効であることを示す場合。
CDN-Origin-Assist-Prefetch-Path 例:
Fragments(video=1400000000,format=mpd-time-cmaf)
CDN CDN へのプリフェッチ パスを指定します。
CDN-Origin-Assist-Prefetch-Request 1 (プリフェッチ要求) または 0 (通常の要求) CDN CDN からの要求がプリフェッチであることを示します。

ヘッダー交換の一部が動作することを確認するには、次の手順を試してください。

  1. cURL を使用して、オーディオまたはビデオ のセグメントまたはフラグメントに対して Media Services 配信元に要求を発行します。 要求にヘッダー CDN-Origin-Assist-Prefetch-Enabled: 1 を追加してください。
  2. 応答では、相対パスを値として持つヘッダー CDN-Origin-Assist-Prefetch-Path が表示されます。

サポートされているストリーミング プロトコル

Origin-Assist CDN-Prefetch 機能では、ライブ ストリーミングとオンデマンド ストリーミング用の次のストリーミング プロトコルがサポートされています。

  • HLS v3
  • HLS v4
  • HLS CMAF
  • DASH (CSF)
  • DASH (CMAF)
  • スムーズ ストリーミング

FAQ

  • CDN プリフェッチが 404 になるようにプリフェッチ パス URL が無効な場合はどうしますか?

    CDN では、10 秒間 (またはその他の構成値) の 404 応答のみがキャッシュされます。

  • オンデマンド ビデオがあるとします。 CDN プリフェッチが有効になっている場合、この機能は、クライアントが最初のビデオ セグメントを要求すると、プリフェッチがループを開始して、後続のすべてのビデオ セグメントを同じビットレートでプリフェッチすることを意味しますか?

    いいえ。CDN プリフェッチは、クライアントが開始した要求/応答の後でのみ行われます。 プリフェッチ ループを回避するために、CDN プリフェッチはプリフェッチによってトリガーされることはありません。

  • Origin-Assist CDN-Prefetch 機能は常にオンになっていますか? オン/オフを切り替える方法

    この機能は、既定ではオフになっています。 お客様は、Akamai API を使用して有効にする必要があります。

  • ライブ ストリーミングの場合、次のセグメントまたはフラグメントがまだ使用できない場合、Origin-Assist はどうなりますか?

    この場合、Media Services の配信元は CDN-Origin-Assist-Prefetch-Path ヘッダーを提供せず、CDN プリフェッチは行われません。

  • 動的マニフェスト フィルターの Origin-Assist CDN-Prefetch のしくみ

    この機能は、マニフェスト フィルターとは別に機能します。 次のフラグメントがフィルター ウィンドウ外にある場合でも、その URL は未加工のクライアント マニフェストを調べて配置され、CDN プリフェッチ応答ヘッダーとして返されます。 そのため、CDN は DASH/HLS/Smooth マニフェストから除外されたフラグメントの URL を取得します。 ただし、そのフラグメントはプレイヤーによって保持されている DASH/HLS/Smooth マニフェストに含まれていないため(プレーヤーはそのフラグメントの存在を知らない)、CDN にそのフラグメントをフェッチするための GET 要求を行うことはありません。

  • DASH MPD/HLS プレイリスト/Smooth マニフェストをプリフェッチできますか?

    いいえ、DASH MPD、HLS マスター プレイリスト、HLS バリアントプレイリスト、またはスムーズ マニフェスト URL はプリフェッチ ヘッダーに追加されません。

  • プリフェッチ URL は相対 URL か絶対 URL か。

    Akamai CDN では両方が許可されますが、Media Services の配信元はプリフェッチ パスの相対 URL のみを提供します。絶対 URL の使用には明らかな利点がないためです。

  • この機能は DRM で保護されたコンテンツで動作しますか?

    はい。この機能は HTTP レベルで動作するため、セグメント/フラグメントのデコードや解析は行われません。 コンテンツが暗号化されているかどうかは関係ありません。

  • この機能はサーバー側広告挿入 (SSAI) で動作しますか?

    SSAI は Media Services の配信元からのソース コンテンツのタイムスタンプを変更しないため、元のコンテンツまたはメイン コンテンツ (広告挿入前の元のビデオ コンテンツ) が機能します。 この機能が広告コンテンツで機能するかどうかは、広告配信元が Origin-Assist をサポートしているかどうかによって異なります。 たとえば、広告コンテンツが Azure Media Services でホストされている場合 (同じまたは別の配信元)、広告コンテンツもプリフェッチされます。

  • この機能は、UHD/HEVC コンテンツで動作しますか?

    はい。

ハウツー、チュートリアル、サンプル

- CDN の最適化を有効にする方法 -配信元シールドの を有効にする方法

ヘルプとサポートを受ける

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