Microsoft Stream のビデオ配信およびネットワークの概要

アダプティブ ビットレート ストリーミング

Microsoft Stream にアップロードできるサポート されているビデオ形式は多数ある。 その後、各ビデオ ファイルは、再生用にいくつかの異なるビデオ品質とサイズを持つ標準形式にエンコードされます。 ストリームでは、HTTPS ユニキャストアダプティブ ビットレート ストリーミング (ABR) を使用して、利用可能なネットワーク帯域幅とビデオ プレーヤーのサイズに基づいて、最適なビデオ再生品質を動的に選択します。

再生中、プレイヤーはネットワークの状態とプレイヤーのサイズの変動に適応します。 使用可能な帯域幅が高い場合、プレイヤーは高品質のビデオをストリーミングします。 帯域幅が低下すると、プレイヤーは低品質バージョンのビデオをストリーミングします。 ビデオの品質と解像度もプレイヤーのサイズに比例します。 ビューアーが小さい画面で視聴している場合は、常に小さいバージョンのビデオが表示されます。

アダプティブ ビットレート ストリーミングは、ビデオが中断やバッファー処理の最小量で再生されている間、バックグラウンドでこのすべての機能を実行します。 ビデオ再生中に、ビデオ プレーヤーは、特定のビデオ再生品質を選択するために、手動で自動再生品質を上書きすることができます。

アダプティブ ビットレート ストリーミング用にアップロードされたビデオのスマート エンコード

Stream では、アダプティブ ビットレート ストリーミングに使用する元のアップロードされたビデオとは異なるビデオ品質とサイズを作成する方法を判断するために、いくつかのスマート機能を使用します。

最初に、Stream は、アップロードされたビデオに対して作成する必要があるさまざまなビデオ品質または表示の数を決定します。 Stream では、ビデオの元の解像度を考慮します。 たとえば、1080p 以上のビデオの場合は、最も低い品質バージョンにステップ ダウンするために、より多くの品質レベル (約 6) が作成されます。 アップロードされたビデオが 480p の場合、最も低い品質バージョンにステップ ダウンする品質レベルが少なく (約 3) 作成されます。 ストリームでは、最初にアップロードされたビデオの解像度を超えるビデオの解像度は生成されません。

ビデオ品質または表示の数が決まった後、次の段階では、各表示のビットレートを決定します。 表示の品質が高いほど、必要なビット数が多くなります。 ただし、すべてのビデオが等しく作成されるわけではありませんが、高品質の視聴エクスペリエンスを実現するには、さまざまな種類のビデオで異なるビットレートが必要です。 ビデオのモーションが多い場合は、高いビットレートで配信して、優れた視聴エクスペリエンスを実現する必要があります。 ただし、主にPowerPointテキストを含むビデオのプレゼンテーションでは、低ビットレートで表示エクスペリエンスを向上できます。

ビデオ コンテンツのこのばらつきに対処するために、Stream はアップロードされたビデオの特性を測定し、各表示に対してビットレートを推奨します。 Stream にアップロードされた各ビデオは、ストリーミングに使用される解像度とビットレートのセットが少し異なって、必要なときに帯域幅を賢明に使用し、より多くのビットのみを使用します。

Stream でビデオを表示すると、アダプティブ ビットレート ストリーミング用に作成されたさまざまな表示がプレイヤーに表示されます。

  • ストリーム プレーヤーで、[歯車] アイコンをクリックし、[品質] を 選択します
例      説明 プレイヤー                    
Teams会議の記録 Teams会議の記録は、1 つの 1080p 解像度ビデオ表示でエンコードされます。 1080p – 574 Kbps
ビデオ オンデマンド (会議の録画を除く) この例Teams示すように、ビデオ オンデマンド以外のビデオ オンデマンドは、最大 6 つのビデオ 表示をインテリジェントに選択するコンテンツ対応のプリセットでエンコードされます。 色とモーションの分散が高い複雑なコンテンツは、より多くのビデオ表示でエンコードされ、複雑度の低いコンテンツは少なくエンコードされます。 1080p – 3 Mbps
720p – 1.6 Mbps
540p – 989 Kbps
360p – 460 Kbps
270p ~ 327 Kbps
180p ~ 193 Kbps

ライブ イベントのエンコード プロファイル

上記のスマート エンコードは、Stream にアップロードされたビデオにのみ適用されます。

Stream または "外部アプリまたはデバイス" で作成されたライブ イベントは、Yammerまたは Microsoft Teamsから生成され、固定エンコード プロファイルが取得されます。

  • 720p - 1.7 Mbps
  • 540p - 850 Kbps
  • 360p - 350 Kbps
  • 240p - 140 Kbps

注意

エンコーダーからの入力ビデオ解像度が 720p 以上の場合は、上記のプロファイルを取得します。 入力ビデオ解像度をエンコーダーから 720p 未満にドロップすると、入力解像度とダウンからの出力ビットレートだけが取得されます。 たとえば、エンコーダーから 540p 解像度を送信した場合、最も高いビットレートのビューアーは 540p ~ 850kbps のバージョンを取得できます。 ストリームは、エンコーダーからの入力ビットレートに基づいて上記のライブ エンコード プロファイルを変更しない、入力解像度に基づいて品質レベルのみをカットします。

ビデオ再生の帯域幅要件

Stream でのビデオ再生はユニキャストで、すべてのビューアーがインターネットから独自のビデオ ストリームを取得しています。 Stream で使用されるスマート エンコードとアダプティブ ビットレート ストリーミングに基づいて、ビデオ再生の帯域幅要件は静的な数値ではない。 ビデオを再生すると、アップロードされたビデオに応じて、インターネット帯域幅の量が異なる場合があります。

  • 元の解像度、ビットレート、およびコンテンツ
  • ユーザーの使用可能な帯域幅
  • プレイヤーのサイズ

帯域幅の見積もりを開発する場合は、組織が Stream で使用する一般的なコンテンツを表すビデオをアップロードし、ユーザーが使用すると思われる画面サイズでビデオを見る必要があります。 その後、帯域幅の測定値とサンプリングを実行できます。 次に、これらの近似値を使用して、同時にビデオを視聴すると思う数に基づいて、ユーザーが消費する帯域幅の高レベルの計算と推定を行います。

ローカル ネットワーク内でビデオ配信を最適化する

Stream は、スマート エンコーディングとアダプティブ ビットレート ストリーミングを利用して、ビデオ再生のネットワークとインターネット トラフィックを削減します。 ただし、再生はユニキャスト ストリームです。 ライブ イベントまたはビデオを組織の多数のユーザーに送信する場合、視聴者によって大量のインターネット帯域幅が消費される可能性があります。

ライブ イベントと人気のあるビデオでこのインターネット トラフィックを減らしたい組織では、次の 2 つのオプションがあります。

  1. ネットワーク内の既存のキャッシュ プロキシを活用する

    Stream からのビデオの視聴は HTTPS 経由で行なうので、通常の Web キャッシュ プロキシはビデオ再生トラフィックをキャッシュするように構成できます。 HTTPS でこれを実行するには、カスタム SSL 証明書を構成する必要がある場合があります。 ただし、ビデオの再生中にネットワーク トレースを確認すると、Stream が組織のビデオのストリーミングに使用する URL を確認できます (URL は Stream テナントによって異なる場合があります)。 キャッシュ プロキシを介してこれらの URL をルーティングすると、ビデオ トラフィックをキャッシュし、頻繁に再生されるビデオのインターネット トラフィックを減らします。

  2. Stream 用に最適化されたサードパーティの eCDN ビデオ配信ソリューションを使用する

    いくつかのビデオ配信 eCDN ソリューションは事前に統合され、Stream で使用できるよう設定できます。 これらの eCDN プラットフォームを使用すると、エンド ユーザーの表示エクスペリエンスを犠牲にすることなく、ネットワーク帯域幅を最適化できます。 パートナーは、エンタープライズ ネットワーク全体で、より拡張性と効率の高いビデオ配信を実現できます。 詳細 については、「3rd party eCDN プロバイダー によるビデオ配信のスケーリング」を参照してください。

ネットワーク内のユーザーが到達できる必要があるエンドポイント

一般的な Microsoft Stream エンドポイント

Microsoft Stream では、インターネットへの接続が必要です。 Microsoft StreamのエンドポイントOffice 365リストされているエンドポイントはすべて、組織のネットワーク内で Microsoft Stream のユーザーが到達できる必要があります。

外部アプリまたはデバイスによって生成されたライブ イベント (以前は外部エンコーダー) - RMTP インジェスト エンドポイント

エンコーダーから Microsoft Streamに送信される外部アプリまたはデバイスによって生成されたライブ イベントのビデオ フィードを取得するには、ネットワークのファイアウォールで次の IP 範囲とポートを開く必要があります。

  • ドメイン: * .channel.media.azure.net
  • ポート: 1935/2935/1936/2936 (RTMP および RTMPS の場合)

特定のネットワークセットアップで上記のドメイン範囲を開くことができない (または開かない) 場合は、現在、RTMP/RTMPS 取り込み用の特定の IP アドレスを取得する唯一のオプションは、Microsoft Stream テナントが接続している Azure データ センターの回転 IP 範囲を取得することです。

次の JSON ファイルは、Azure データ センターの IP アドレスが変更され、地域やタグ付けされたサービスによって破損した場合に更新されます。

これらのファイルは毎週更新され、完全なファイルと、そのファイル内の個々のサービス タグの両方のバージョン管理が含まれます。

Stream テナントの Azure データ センターを見つけるには、次の方法を実行します。

  1. [ストリーム] で、[? を右上隅に表示します。

  2. [Microsoft Stream について] を選択します

  3. データが格納 されている情報を表示します

Stream テナントの Azure データ センターを確認したら、上記の XML ファイルで対応する IP 範囲を見つけ、データ センターの特定の IP 範囲を使用してファイアウォール/プロキシを更新します。 XML ファイルの変更に応じて、ファイアウォール/プロキシ設定も更新する必要があります。

例:

  • Microsoft Stream について、データ が "米国東部 2" に保存されているという場合

  • XML ファイルで、ラベルが付いたノードを探します <Region Name="useast2">

  • その領域 ノードの 下には、すべての IP 範囲に対して複数のエントリがあります ( <IpRange Subnet="13.68.0.0/17"> )

  • これらのすべての IP 範囲を許可し、XML ファイルが変更された場合に定期的に変更するファイアウォール\プロキシを構成する必要があります。

コミュニティのユーザーは、スケジュールに基いて上記の XML ファイルを受け取り、データをクエリ可能な API に変換するコードを記述しています。 組織は、このオープンソース プロジェクトで何が行われたかを学び、ファイアウォール/プロキシ設定を定期的に更新するための独自の同様のソリューションを構築できます。

ビデオの再生に使用される CDN

ストリームおよび外部アプリまたはデバイスのライブ イベント (Yammer/Teams からのライブ イベント、およびオンデマンド ビデオは自動的にAzure CDN。

Stream にアップロードされたオンデマンド ビデオとライブ イベントの記録は、必要に応じてAzure CDNビデオも使用します。 これらのAzure CDN必要ない場合は、テナントの地理的地域に関連Azure Media Services元のサーバーから再生されます。

同じ地理的な場所内の同じ組織の複数のユーザーが同じビデオをストリーミングしている場合、CDN は、これらのビデオのコピーをその地理的地域に近い場所に保存します。 ビデオを保存するか、最も近い場所にキャッシュすると、各ユーザーは、遠く離れた場所ではなく、最も近い場所からビデオをストリーミングします。 Stream は、Azure Media Servicesを使用して、Azure CDN にキャッシュされるコンテンツと、その期間を管理します。 Azure Media Services任意の場所をAzure CDN、数日間ビデオ フラグメントとマニフェストをキャッシュできます。 組織内のユーザーがキャッシュされたビデオを引き続き視聴する場合、キャッシュに残されます。 数日間ビデオにアクセスするユーザーがいない場合、ビデオは最終的にキャッシュから削除されます。 次回、誰かがビデオを視聴しようとすると、最も近い場所に再びCDNされます。

コンテンツが近くの CDN でキャッシュされている間にビデオを視聴しようとするすべてのユーザーは、ビデオが近く、ほとんどの場合ホップが少なく、離れて行くメリットがあります。 これにより、ビデオの再生速度が向上します。ただし、ビデオを再生するネットワーク要件は変更されません。

ビデオ レベルの暗号化と再生フロー

ストリームは、データのセキュリティとプライベートを維持することがいかに重要かを知っています。 Microsoft Trust Center では、コンテンツのプライバシーとセキュリティに対する取り組みについて説明します。 ビデオの再生では、優れたエクスペリエンスを実現するには速度が重要です。ただし、速度と引き換えにセキュリティやプライバシーは侵害しません。 速度、セキュリティ、プライバシーに対応する方法を次に示します。

組織内のユーザーが新しいビデオをアップロードしたり、ライブ イベントを作成したりすると、そのビデオはトランスコードされ、AES-128 暗号化で暗号化され、Azure Media Services に保存されます。 つまり、ビデオは転送中と保存時の両方で暗号化されます。

組織内のユーザーがビデオを視聴しようとすると、次の手順に従います。

  1. Stream は、Stream 用 Azure SQL データベースのビデオに設定されているアクセス許可と、ユーザーに関する情報を確認して、ビューアーがビデオにアクセスAzure Active Directory判断します。

  2. ユーザーがビデオの表示を許可されている場合は、暗号化解除キーが Azure Media Servicesストリーム ビデオ プレーヤーに与えられる

  3. その後、Stream ビデオ プレーヤーは復号化キーを使用して、ビデオの再生中にビデオをオンザフライで復号化します。

関連項目

サードパーティの eCDN プロバイダーによるビデオ配信のスケーリング