Microsoft Stream のビデオ配信およびネットワークの概要Microsoft Stream video delivery and network overview

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

Microsoft Stream にアップロードできるサポートされているビデオ形式は多数あります。There are numerous supported video formats that can be uploaded to Microsoft Stream. 各ビデオファイルは、さまざまなビデオ品質と再生用サイズの標準形式にエンコードされます。Each video file is then encoded to a standard format with several different video qualities and sizes for playback. ストリームは HTTPS ユニキャストのアダプティブビットレートストリーミング (ABR)を使用して、ビデオプレーヤーの使用可能なネットワーク帯域幅とサイズに基づいて、最適なビデオ再生品質を動的に選択します。Stream uses HTTPS unicast adaptive bitrate streaming (ABR) to dynamically select the best video playback quality based on the available network bandwidth and size of the video player.

再生中に、プレーヤーはネットワークの状態とプレーヤーのサイズの変動に適応します。During playback, the player adapts to fluctuations in network conditions and size of the player. 使用可能な帯域幅が大きい場合、player は高品質バージョンのビデオをストリームします。When the available bandwidth is high, the player streams a high quality version of the video. 帯域幅が低下すると、player は低品質バージョンのビデオをストリーミングします。When the bandwidth drops, the player will stream a low quality version of the video. ビデオの品質と解像度も、プレーヤーのサイズに比例します。The quality and resolution of the video will also be proportional to the size of the player. 視聴者が小さい画面で監視している場合は、常により小さいバージョンのビデオを取得します。If a viewer is watching on a smaller screen they'll always get a smaller version of the video.

アダプティブビットレートストリーミングでは、ビデオの再生が最小限に抑えられている間、バックグラウンドでこれらすべてが実行されます。The adaptive bitrate streaming does all this in the background while the video plays with the least amount of disruption or buffering. ビデオの再生中に、ビデオプレーヤを使用すると、閲覧者は自動再生の品質を手動で上書きして、特定のビデオ再生品質を選択することができます。During video playback, the video player lets the viewer to manually override the automatic playback quality, to select a specific video playback quality.

アダプティブビットレートストリーミング用にアップロードされたビデオのスマートエンコーディングSmart encoding of uploaded videos for adaptive bitrate streaming

Stream は、一部の smarts を使用して、アダプティブビットレートストリーミング用にアップロードされた元のビデオのさまざまなビデオ品質とサイズをどのように作成するかを決定します。Stream uses some smarts to determine how it creates the different video qualities and sizes from the original video uploaded to be used for adaptive bitrate streaming.

最初に、ストリーミングは、アップロードされたビデオに対して、さまざまなビデオ品質またはレンディションを作成する必要があるかどうかを決定します。First, Stream determines how many different video qualities or renditions should be created for the uploaded video. ストリームは、ビデオの元の解像度を考慮する必要があります。Stream takes into consideration the original resolution of the video. たとえば、1080p またはそれ以上のビデオを使用している場合は、より品質レベル (約 6) を作成して最低品質のバージョンに進みます。For example, if it's a 1080p or higher video it will create more quality levels ( about 6) to step down to the lowest quality version. その代わりに、アップロードしたビデオが480p の場合は、品質レベルが低くなり (約 3)、最低品質バージョンにステップダウンします。If instead the uploaded video is 480p it will create fewer quality levels (about 3) to step down to the lowest quality version. ストリームでは、最初にアップロードしたビデオの解像度を超えるビデオの解像度は生成されません。Stream won't generate a resolution of the video that exceeds the resolution of the originally uploaded video.

ビデオ品質またはレンディションの数を決定したら、次の段階は各レンディションのビットレートを決定することです。After the number of video qualities or renditions is decided, the next stage is to determine the bitrate for each rendition. レンディションの品質が高いほど、必要なビット数が多くなります。The higher the quality of the rendition the more bits it requires. ただし、すべてのビデオが同じように作成されるわけではありませんが、ビデオの種類が異なると、高品質な表示感を実現するために異なるビットレートが必要になります。However not all videos are created equal, different types of videos require different bitrates to achieve a high quality viewing experience. ビデオに多くの動きがある場合は、優れた表示環境を実現するために、ビットレートの高いビデオを配信する必要があります。If a video has lots of motion, it will need to be delivered with a higher bitrate to achieve a great viewing experience. ただし、ほとんどの場合、静止テキストを含むビデオの PowerPoint プレゼンテーションでは、より低いビット単位で快適な表示が得られます。However, a PowerPoint presentation in a video with mostly static text can still get a great viewing experience at a lower bitrate.

ビデオコンテンツの変化に対応するために、ストリームでは、関数を使用して、アップロードしたビデオの特性を測定し、各レンディションに推奨されるビットレートを設定します。To address this variability in video content, Stream uses a function to measure the characteristics of the uploaded video and comes up with a recommended bitrate for a each rendition. Stream にアップロードされた各ビデオは、ストリーミングに使用されるのと少し異なる解決策とビットレートを使用して、帯域幅を効率的に使用し、必要な場合にはより多くのビットを使用していることを確認します。Each video uploaded to Stream will end up with a slightly different set of resolutions and bitrates used for streaming, to ensure that we are using bandwidth wisely and only using more bits when it's needed.

ストリームのビデオを表示する場合、アダプティブビットレートストリーミング用に作成されたさまざまなレンディションをプレーヤーで見ることができます。ストリームプレーヤーで歯車アイコンをクリックし、[品質] を選択します。When viewing a video on Stream, the different renditions that were created for adaptive bitrate streaming can be seen in the player: in the Stream player click the Gear icon and then select Quality.

例 1: 1080p を使用した高解像度のビデオは、各レンディションにつき6個のレンディションとより多くのビットレートでエンコードされていました。Example 1: This high motion video with a 1080p starting resolution was encoded with 6 renditions and higher bitrates per each rendition.

再生品質レベル1080p

例 2: このミーティングレコーディングビデオには、ほとんどの場合、静的テキストが含まれており、720p の開始解像度は5つのレンディションでエンコードされており、各レンディションあたりのビットレートが非常に低いExample 2: This meeting recording video with mostly static text and a 720p starting resolution was encoded with 5 renditions and much lower bitrates per each rendition.

再生品質レベル720p

ライブイベントのエンコードプロファイルEncoding profile for live events

上記のスマートエンコーディングは、ストリームにアップロードされたビデオにのみ適用されます。The smart encoding listed above only applies to videos uploaded to Stream.

Stream または「外部アプリまたはデバイス」で作成されたライブイベントは、Yammer または Microsoft Teams から生成されたライブイベントによって、固定エンコードプロファイルを取得します。Live events created in Stream or "External app or device" produced live events from Yammer or Microsoft Teams will get a fixed encoding profile:

  • 720p-3.5 Mbps720p - 3.5Mbps
  • 540p-2.2 Mbps540p - 2.2Mbps
  • 396p-1.4 Mbps396p - 1.4Mbps
  • 288 p-850 Kbps288p - 850 Kbps
  • 216p-550 Kbps216p - 550 Kbps
  • 192p-200 Kbps192p - 200 Kbps

注: エンコーダーからの入力ビデオの解像度が720p 以上の場合は、上記のプロファイルが得られます。NOTE: If your input video resolution from the encoder is 720p or higher you'll get the above profile. 入力ビデオの解像度をエンコーダーから落下しないようにドロップした場合は、入力解像度から出力ビットレートのみが取得されます。If you drop your input video resolution from the encoder to lower than 720p, then you'll only get output bitrates from your input resolution and down. たとえば、エンコーダーから540p の解像度を送信した場合、最高のビットレートの閲覧者は、540p-2.2 Mbps バージョンになることができます。For example, if you sent 540p resolution from your encoder then the highest bitrate viewers would be able to get is the 540p - 2.2 Mbps version. Stream からの入力ビットレートに基づいて上記のライブエンコードプロファイルが変更されることはありません。これは、入力解決に基づいて品質レベルを無効にするだけです。Stream does not change the above live encoding profile based on input bitrate from the encoder, it only cuts off quality levels based on input resolution.

ビデオ再生の帯域幅要件Bandwidth requirements for video playback

ストリームでのビデオの再生はユニキャストで、すべての閲覧者がインターネットから独自のビデオストリームを取得していることを意味します。Video playback in Stream is unicast, meaning every viewer is getting their own video stream from the internet. ストリームで使用されるスマートエンコードと適応ビットレートのストリーミングに基づいて、ビデオ再生の帯域幅要件は、静的な数値ではありません。Based on the smart encoding and adaptive bitrate streaming used by Stream the bandwidth requirement for video playback isn't a static number. ビデオの再生では、アップロードしたビデオの元の解像度、ビットレート、およびコンテンツ、ユーザーが使用可能な帯域幅、プレーヤーのサイズに応じて、さまざまなインターネット帯域幅を使用できます。Playing a video can consume different amounts of internet bandwidth, depending on an uploaded video's original resolution, bitrate, and content, the user's available bandwidth, and the size of the player.

一部の帯域幅見積もりを行う場合は、組織が Stream で使用するコンテンツの種類に関する代表的なビデオをアップロードし、ユーザーが使用すると思われる画面サイズでビデオを見る必要があります。If you want to do some bandwidth estimations, you need to upload some representative videos of the kinds of content your organization will use with Stream and watch the videos on screen sizes you think will be used by your users. その後、帯域幅の測定値とサンプリングを行うことができます。You can then do some bandwidth measurements and sampling. 次に、これらの近似値を使用して、ビデオを同時に監視する予定のユーザー数に対して、どの程度の帯域幅を消費するかについての高いレベルの計算と見積もりを行うことができます。You could then use these approximations to make some high level calculations and estimates of how much bandwidth will be consumed by the number of users you anticipate watching videos at the same time.

ローカルネットワーク内でのビデオ配信の最適化Optimizing video delivery within my local network

ストリームは、スマートエンコードと適応ビットレートのストリーミングを活用して、ビデオ再生のネットワークおよびインターネットトラフィックを削減します。Stream leverages the smart encoding and adaptive bitrate streaming to reduce network and internet traffic of video playback. ただし、再生はユニキャストストリームです。However playback is a unicast stream. 組織の大部分に送信されるライブイベントまたはビデオの場合、閲覧者が大量のインターネット帯域幅を消費している可能性があります。For live events or videos sent out to large portions of your organization, there could be a significant amount of internet bandwidth consumed by viewers.

このようなインターネットトラフィックをライブイベントや一般的なビデオに削減する必要がある組織では、次の2つのオプションがあります。For organizations that want to reduce this internet traffic for live events and popular videos there are two options:

  1. ネットワーク内の既存のキャッシュプロキシを活用するLeverage existing cache proxies in your network

    ストリームからのビデオの再生は HTTPS を使用しているため、通常の web キャッシュプロキシを構成してビデオ再生トラフィックをキャッシュすることができます。Playback of videos from Stream is over HTTPS therefore normal web cache proxies can be configured to cache the video playback traffic. HTTPS を使用してこれを行うには、カスタムの SSL 証明書の構成を行う必要がある場合があります。There may need to do custom SSL certification configuation to make this happen with HTTPS. ただし、ビデオを再生しているときにネットワークトレースを調べると、ストリームが組織のビデオを再生するために使用する Url を確認できます (Url は Stream テナントによって異なる場合があります)。However, if you look at a network trace while playing a video, you can see the URLs that Stream uses to playback the video for your organization (URLs can vary by Stream tenant). これらの Url をキャッシュプロキシを介してルーティングすると、ビデオトラフィックをキャッシュし、多くの場合、ビデオを再生するためにインターネットトラフィックを減らすことができます。If you route those URLs through your cache proxy, it can cache the video traffic and reduce your internet traffic for often played videos.

  2. Stream 用に最適化されたサードパーティの eCDN ビデオ配信ソリューションを使用するUse a 3rd party eCDN video delivery solution optimized for Stream

    いくつかのビデオ配信 eCDN ソリューションは事前に統合されており、Stream で使用するようにセットアップできます。Several video delivery eCDN solutions are pre-integrated and can be setup to be used with Stream. これらの eCDN プラットフォームを使用すると、組織はエンドユーザーの表示エクスペリエンスを犠牲にすることなく、ネットワーク帯域幅を最適化することができます。These eCDN platforms enable organizations to optimize network bandwidth without sacrificing end user viewing experiences. 弊社のパートナーは、企業ネットワーク全体でよりスケーラブルで効率的なビデオ配布を可能にするのに役立ちます。Our partners can help enable a more scalable and efficient video distribution across your enterprise network. 詳細については、「サードパーティの eCDN プロバイダーを使用したビデオ配信のスケール」を参照してください。See Scaling video delivery with 3rd party eCDN providers for more information.

ネットワーク内のユーザーが到達できるようにする必要があるエンドポイントEndpoints that need to be reachable by users inside your network

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

Microsoft Stream ではインターネットへの接続が必要です。Microsoft Stream requires connectivity to the internet. ご自分の組織のネットワーク内の Microsoft Stream ユーザーが、Microsoft Stream の Office 365 のエンドポイントに記載されているすべてのエンドポイントにアクセスできる必要があります。All endpoints listed on Office 365 endpoints for Microsoft Stream need to be reachable by users of Microsoft Stream within your organization's network.

外部アプリまたはデバイスで生成されたライブ イベント (旧称外部エンコーダー) - RMTP 取り込みエンドポイントExternal app or device produced live events (formerly external encoder) - RMTP ingest endpoints

"外部アプリまたはデバイス" で生成され、エンコーダーから Microsoft Stream に送信されたライブ イベントの動画フィードを取得するには、ご自分のネットワークのファイアウォールまたはプロキシで、次の IP 範囲とポートを開いている必要があります。To get a video feed for an "external app or device" produced live event sent to Microsoft Stream from your encoder you'll need the following IP ranges and ports open in your network's firewall or proxy:

  • ドメイン: *.channel.media.azure.netDomains: *.channel.media.azure.net
  • ポート:1935/2935/1936/2936 (RTMP および RTMPS 用)Ports: 1935/2935/1936/2936 (for RTMP and RTMPS)

特定のネットワーク設定により上記のドメイン範囲を開けない (または開きたくない) 場合は、現在、RTMP/RTMPS 取り込み用の特定の IP アドレスを取得するための唯一のオプションは、ご自身の Microsoft Stream テナントが接続されている Azure データ センターの IP 範囲のローテーションを取得することです。If your specific network setup doesn't allow you to (or you don't want to) open up the domain range above, currently the only option to get specific IP addresses for the RTMP/RTMPS ingest, is to get the rotating IP ranges for the Azure data center that your Microsoft Stream tenant is connected to.

この XML ファイルは、Azure データ センターの IP アドレスが変更されると更新されます。This XML file is updated as the IP addresses for Azure data centers change. XML ファイル内の各ノードは、特定のデータ センターに対応しています。https://www.microsoft.com/download/confirmation.aspx?id=41653Each node in the XML file corresponds to a specific data center: https://www.microsoft.com/download/confirmation.aspx?id=41653

ご自身の Stream テナントの Azure データ センターを見つけるには、次に移動します。The Azure data center for your Stream tenant can be found by going to:

  • Microsoft Stream の WebMicrosoft Stream web
  • 右上隅にある ? ?in the upper right corner
  • Microsoft Stream についてAbout Microsoft Stream
  • データの保存先Your data is stored in

Stream テナントの Azure データ センターを把握したら、上記の XML ファイルから対応する IP 範囲を探して、ご自分のデータ センターの特定の IP 範囲を使ってファイアウォール/プロキシを更新する必要があります。Once you know the Azure data center for your Stream tenant you'd need to find the corresponding IP ranges in the XML file above, and then update your firewall/proxy with the specific IP ranges for your data center. XML ファイルが変更されたら、ファイアウォール/プロキシの設定も更新する必要があります。As the XML file changes you'll need to update your firewall/proxy settings as well.

例:Example:

  • [Microsoft Stream について] で、ご自分のデータが "米国東部 2" に格納されていることを確認した場合If About Microsoft Stream says that your data is stored in "East US 2"
  • XML ファイルから、<Region Name="useast2"> というラベルの付いたノードを探しますIn the XML file you would look for a node labeled <Region Name="useast2">
  • そのリージョンのノードの下には、すべての IP 範囲に対していくつかのエントリが存在します (<IpRange Subnet="13.68.0.0/17">)Under that Region node, there would be several entries for all the IP ranges (<IpRange Subnet="13.68.0.0/17">)
  • ご自分のファイアウォール/プロキシを構成してこれらの IP 範囲をすべて許可し、XML ファイルが変更されるときに定期的にそれらを変更します。You would need to configure your firewall\proxy to allow all of these IP ranges and change them on a regular basis when the XML file changes.

コミュニティ内のユーザーにより、スケジュールに従って上記の XML ファイルを取得して、そのデータを照会可能な API に変換するコードが記述されています。Users in the community have written code that on a schedule it takes the XML file above and converts the data into an API that can be queried. ご自身の組織では、このオープン ソース プロジェクトの成果から学習して、ファイアウォール/プロキシの設定を定期的に更新する同様のソリューションを独自に構築できるかもしれません。Your organization my be able to learn from what was done with this open source project and build your own similiar solution to regularly update your firewall/proxy settings.

ビデオの再生に使用される CDNCDN used for video playback

Yammer/Teams からのストリームおよび外部アプリまたはデバイスlive イベントからのライブイベントは、自動的に Azure CDN を使用します。Live events from Stream and External app or device live events from Yammer/Teams will automatically use Azure CDN.

同じ地理的位置にある同じ組織の複数のユーザーが同じビデオをストリーミングしている場合、CDNs はその地域に近い場所にこれらのビデオのコピーを保存します。If several people from the same organization within the same geographic location are streaming the same video(s), CDNs will store a copy of these videos in a location closer to that geographic region. ビデオが保存されているか、最も近い場所にキャッシュされていると、各ユーザーは、その場所から離れた場所ではなく、最も近い場所からビデオをストリームします。With the video stored, or cached at the closest location, each person streams the video from the location closest to them instead of a location further away. Stream では、azure メディアサービスを使用して、Azure CDNs にキャッシュされているものと、期間を管理します。Stream uses Azure Media Services to manage what is cached in the Azure CDNs, and for how long. Azure Media Services では、任意のAZURE CDN の場所を使用して、ビデオフラグメントとマニフェストを数日間キャッシュできます。Azure Media Services can use any of the Azure CDN locations to cache video fragments and manifests for a few days. 組織内のユーザーがキャッシュされたビデオを引き続き視聴する場合は、キャッシュに残ります。If people in your organization continue to watch the cached videos they'll stay in the cache. 何度もビデオにアクセスできない場合、ビデオは最終的にキャッシュから削除されます。If no one accesses the video for several days, the video will eventually drop be dropped from the cache. 次回、ユーザーがビデオを視聴しようとしたときに、それが最も近い CDN の場所で再びキャッシュされます。The next time someone attempts to watch the video it’s once again cached at the nearest CDN location.

ビデオを視聴しようとしているすべてのユーザーは、ビデオの近くにある CDN の利点で、ビデオが近い場所にあることを示しています。Everyone who attempts to watch the video while the content is cached at a nearby CDN benefits from the video being closer, and in most cases less hops, away. これにより、ビデオの再生速度が向上します。ただし、ビデオを再生するためにネットワーク要件が変更されることはありません。This improves video playback speed; however, it doesn’t change the network requirement to play the video.

オンデマンドビデオがストリームにアップロードされても、まだ Azure CDN を使用して再生することはありません。On-demand videos uploaded to Stream don't yet use Azure CDN for playback. ストリームの非ライブビデオは、テナントの地理的領域にあるテナントに関連付けられている Azure メディアサービスの送信元サーバーから再生されます。Non-live videos in Stream are played back from the Azure Media Services origin server associated with your tenant in your tenant's geographic region.

ビデオレベルの暗号化と再生フローVideo level encryption and playback flow

Stream は、データのセキュリティを確保し、プライベートにすることが重要であることを認識しています。Stream knows how important it is to keep your data secure and private. Microsoft Trust Centerでは、コンテンツのプライバシーとセキュリティに対するコミットメントについて説明しています。The Microsoft Trust Center describes our commitment to the privacy and security of your content. ビデオの再生では、パフォーマンスを向上させるには速度が重要です。しかし、exchange のセキュリティやプライバシーをスピードアップすることはありません。With video playback, speed is important for a good experience; however, we don’t compromise your security or privacy in exchange for speed. スピード、セキュリティ、プライバシーに対応する方法を次に示します。Here’s how we accommodate speed, security and privacy.

組織内のユーザーが新しいビデオをアップロードするか、または live イベントを作成すると、ビデオはトランスコードされ、AES-128 暗号化で暗号化され、Azure Media Services に格納されます。When you or someone in your organization uploads a new video or creates a live event, that video is transcoded, encrypted with AES-128 encryption, and stored in Azure Media Services. これは、送信中と保存中の両方のビデオが暗号化されることを意味します。This means the videos are encrypted both in transit and at rest.

組織内の誰かがビデオを視聴しようとすると、次の手順を実行します。When someone in your organization attempts to watch a video, they follow these steps:

  1. Stream は、ストリームのための Azure SQL データベースのビデオに設定されているアクセス許可と、ユーザーに関する Azure Active Directory の情報を確認することにより、閲覧者がビデオにアクセスできるかどうかを決定します。Stream determines if the viewer has access to the video by checking the permissions set on the video in Azure SQL database for Stream and information in Azure Active Directory about the user.

  2. ユーザーがビデオを表示することを許可されている場合は、復号化キーが Azure Media Services から取り出され、ストリームビデオプレーヤーに渡されます。If the user is allowed to view the video the decryption key is fetched from Azure Media Services and given to the Stream video player.

  3. ストリームビデオプレーヤーは、ビデオが再生されているときに、暗号化解除キーを使用してビデオを途中で復号化します。The Stream video player then uses the decryption key to decrypt the video on the fly as the video is being played.

関連項目See also