Media Services v3 のダイナミック パッケージDynamic packaging in Media Services v3

Media Services ロゴ v3media services logo v3


Microsoft Azure Media Services は、多くのメディア ソース ファイル形式をエンコードするために使用できます。Microsoft Azure Media Services can be used to encode many media source file formats. これは、コンテンツ保護の有無に関係なく、さまざまなストリーミング プロトコルを介して配信され、すべての主要なデバイス (iOS デバイスや Android デバイスなど) に到達します。It delivers them via different streaming protocols, with or without content protection, to reach all major devices (like iOS and Android devices). これらのクライアントは、さまざまなプロトコルを認識します。These clients understand different protocols. たとえば、iOS では、HTTP ライブ ストリーミング (HLS) 形式でストリームを配信する必要があります。また、Android デバイスでは、HLS と MPEG DASH がサポートされます。For example, iOS requires streams to be delivered in HTTP Live Streaming (HLS) format and Android devices support HLS as well as MPEG DASH.

Media Services では、ストリーミング エンドポイント (配信元) は、ダイナミック (Just-In-Time) パッケージおよび配信元サービスを表します。これは、ライブのオンデマンド コンテンツをクライアント プレーヤー アプリに直接配信できます。In Media Services, a streaming endpoint (origin) represents a dynamic (just-in-time) packaging and origin service that can deliver your live and on-demand content directly to a client player app. 次のセクションで説明する一般的なストリーミング メディア プロトコルのいずれかを使用します。It uses one of the common streaming media protocols mentioned in the following section. "ダイナミック パッケージ" は、すべてのストリーミング エンドポイントに標準で付属する機能です。Dynamic packaging is a feature that comes standard on all streaming endpoints.

注意

Azure portal を使用し、v3 のライブ イベントの管理、v3 の資産の表示、API へのアクセスに関する情報の取得を行うことができます。You can use the Azure portal to manage v3 live events, view v3 assets, get info about accessing APIs. 他のすべての管理タスク (変換とジョブなど) については、REST APICLI、またはサポートされているいずれかの SDK を使用します。For all other management tasks (for example, transforms and jobs), use the REST API, CLI, or one of the supported SDKs.

ソース ファイルをデリバリー用に準備するにはTo prepare your source files for delivery

ダイナミック パッケージを活用するには、中間 (ソース) ファイルを一連の複数ビットレート MP4 (ISO Base Media 14496-12) ファイルにエンコードする必要があります。To take advantage of dynamic packaging, you need to encode your mezzanine (source) file into a set of multiple bitrate MP4 (ISO Base Media 14496-12) files. エンコードされた MP4 を含む資産と、Media Services のダイナミック パッケージで必要とされるストリーミング構成ファイルが必要です。You need to have an asset with the encoded MP4 and streaming configuration files needed by Media Services dynamic packaging. この一連の MP4 ファイルから、ダイナミック パッケージを使用することで、以下に説明するストリーミング メディア プロトコルを介してビデオを配信することができます。From this set of MP4 files, you can use dynamic packaging to deliver video via the streaming media protocols described below.

Azure Media Services のダイナミック パッケージでは、MP4 コンテナー形式のビデオおよびオーディオ ファイルのみがサポートされています。Azure Media Services dynamic packaging only supports video and audio file in the MP4 container format. Dolby などの代替コーデックを使用するときは、オーディオ ファイルを MP4 コンテナーにエンコードする必要もあります。Audio files must be encoded into an MP4 container as well when using alternate codecs like Dolby.

ヒント

MP4 およびストリーミング構成ファイルを取得する方法の 1 つは、Media Services を使用してお使いの中間ファイルをエンコードすることです。One way to get the MP4 and streaming configuration files is to encode your mezzanine file with Media Services.

エンコードされた資産内のビデオをクライアントが再生できるようにするには、ストリーミング ロケーターを作成し、ストリーミング URL をビルドする必要があります。To make videos in the encoded asset available to clients for playback, you have to create a Streaming Locator and build streaming URLs. その後、ストリーミング クライアント マニフェスト (HLS、MPEG DASH、またはスムーズ ストリーミング) で指定した形式に基づいて、選択したプロトコルでストリームを受信します。Then, based on the specified format in the streaming client manifest (HLS, MPEG DASH, or Smooth Streaming), you receive the stream in the protocol you've chosen.

その結果、保存と課金の対象となるのは、単一のストレージ形式のファイルのみです。Media Services がクライアントからの要求に応じて、適切な応答を構築して返します。As a result, you only need to store and pay for the files in single storage format and Media Services service will build and serve the appropriate response based on requests from a client.

Media Services 動的暗号化を使用してコンテンツを保護する場合は、「ストリーミング プロトコルと暗号化の種類」を参照してください。If you plan to protect your content by using Media Services dynamic encryption, see Streaming protocols and encryption types.

HLS プロトコルHLS protocol

ストリーミング クライアントは、次の HLS 形式を指定できます。Your streaming client can specify the following HLS formats:

ProtocolProtocol Example
HLS V4HLS V4 https://amsv3account-usw22.streaming.media.azure.net/21b17732-0112-4d76-b526-763dcd843449/ignite.ism/manifest(format=m3u8-aapl)
HLS V3HLS V3 https://amsv3account-usw22.streaming.media.azure.net/21b17732-0112-4d76-b526-763dcd843449/ignite.ism/manifest(format=m3u8-aapl-v3)
HLS CMAFHLS CMAF https://amsv3account-usw22.streaming.media.azure.net/21b17732-0112-4d76-b526-763dcd843449/ignite.ism/manifest(format=m3u8-cmaf)

注意

Apple の以前のガイドラインでは、低帯域幅ネットワークのフォールバックではオーディオのみのストリームを提供することを推奨していました。Previous guidelines from Apple recommended that the fallback for low bandwidth networks was to provide an audio-only stream. 現在、Media Services エンコーダーではオーディオのみのトラックが自動的に生成されます。Apple のガイドラインでは、特に Apple TV の配信では、オーディオのみのトラックを "含めない" ように定められています。At present, the Media Services encoder automatically generates an audio-only track. Apple guidelines now state that the audio-only track should not be included, especially for Apple TV distribution. プレーヤーが既定でオーディオのみのトラックを含めないようにするには、HLS でオーディオのみの再生を削除する "audio-only=false" タグを URL に使用するか、または単に HLS-V3 を使用することをお勧めします。In order to prevent the player from defaulting to an audio-only track, we suggest using the “audio-only=false” tag in the URL which removes audio-only rendition in HLS, or simply use HLS-V3. たとえば、「 http://host/locator/asset.ism/manifest(format=m3u8-aapl,audio-only=false) 」のように入力します。For example, http://host/locator/asset.ism/manifest(format=m3u8-aapl,audio-only=false).

MPEG-DASH プロトコルMPEG-DASH protocol

ストリーミング クライアントは、次の MPEG-DASH 形式を指定できます。Your streaming client can specify the following MPEG-DASH formats:

ProtocolProtocol Example
MPEG-DASH CSFMPEG-DASH CSF https://amsv3account-usw22.streaming.media.azure.net/21b17732-0112-4d76-b526-763dcd843449/ignite.ism/manifest(format=mpd-time-csf)
MPEG-DASH CMAFMPEG-DASH CMAF https://amsv3account-usw22.streaming.media.azure.net/21b17732-0112-4d76-b526-763dcd843449/ignite.ism/manifest(format=mpd-time-cmaf)

スムーズ ストリーミング プロトコルSmooth Streaming protocol

ストリーミング クライアントは、次のスムーズ ストリーミング形式を指定できます。Your streaming client can specify the following Smooth Streaming formats:

ProtocolProtocol メモと例Notes/examples
スムーズ ストリーミングSmooth Streaming https://amsv3account-usw22.streaming.media.azure.net/21b17732-0112-4d76-b526-763dcd843449/ignite.ism/manifest
Smooth Streaming 2.0 (レガシ マニフェスト)Smooth Streaming 2.0 (legacy manifest) 既定では、Smooth Streaming のマニフェスト形式には、繰り返しタグ (r タグ) が含まれています。By default, Smooth Streaming manifest format contains the repeat tag (r-tag). ただし、一部のプレーヤーは、r-tag をサポートしていません。However, some players do not support the r-tag. これらのプレーヤーを使用するクライアントは、r タグを無効にする形式を使用できます。Clients with these players can use a format that disables the r-tag:

https://amsv3account-usw22.streaming.media.azure.net/21b17732-0112-4d76-b526-763dcd843449/ignite.ism/manifest(format=fmp4-v20)

注意

スムーズ ストリーミングでは、オーディオとビデオの両方がストリームに存在している必要があります。Smooth Streaming requires that both audio and video should be present in your stream.

オンデマンド ストリーミングのワークフローOn-demand streaming workflow

次の手順は、Azure Media Services の標準エンコーダーとダイナミック パッケージを併用した一般的な Media Services でのストリーミング ワークフローを示しています。The following steps show a common Media Services streaming workflow where dynamic packaging is used along with the Standard Encoder in Azure Media Services.

  1. MP4、QuickTime/MOV、またはその他のサポートされているファイル形式の入力ファイルをアップロードします。Upload an input file such as a MP4, QuickTime/MOV, or other supported file format. このファイルは、中間ファイルやソース ファイルとも呼ばれます。This file is also referred to as the mezzanine or source file. サポートされている形式の一覧については、Standard Encoder でサポートされている形式に関するページを参照してください。For the list of supported formats, see Formats Supported by the Standard Encoder.

  2. 中間ファイルを H.264/AAC MP4 アダプティブ ビットレート セットにエンコードします。Encode your mezzanine file into an H.264/AAC MP4 adaptive bitrate set.

    エンコードされたファイルが既にあり、ファイルをコピーしてストリーミングするだけであれば、CopyVideo および CopyAudio API を使用します。If you already have encoded files and just want to copy and stream the files, use: CopyVideo and CopyAudio APIs. 結果として、ストリーミング マニフェスト (.ism ファイル) を含む新しい MP4 ファイルが作成されます。A new MP4 file with a streaming manifest (.ism file) will be created as a result.

  3. アダプティブ ビットレート MP4 セットが含まれる出力資産を発行します。Publish the output asset that contains the adaptive bitrate MP4 set. ストリーミング ロケーターを作成して発行します。You publish by creating a streaming locator.

  4. さまざまな形式 (HLS、MPEG-DASH および Smooth Streaming) をターゲットとする URL を構築します。Build URLs that target different formats (HLS, MPEG-DASH, and Smooth Streaming). これらのさまざまな形式の正しいマニフェストおよび要求の処理は、ストリーミング エンドポイントが行います。The streaming endpoint would take care of serving the correct manifest and requests for all these different formats.

次の図は、ダイナミック パッケージのワークフローを使用したオンデマンド ストリーミングを示しています。The following diagram shows the on-demand streaming with dynamic packaging workflow.

ダイナミック パッケージを使用したオンデマンド ストリーミングのワークフローの図

上の画像のダウンロード パスは、"ストリーミング エンドポイント" (配信元) を通じて直接 MP4 ファイルをダウンロードできることを示すためにのみ存在します (ダウンロードできることを示すストリーミング ポリシーは、ストリーミング ロケーターで指定します)。The download path is present in the above image just to show you that you can download an MP4 file directly through the streaming endpoint (origin) (you specify the downloadable streaming policy on the streaming locator).
ダイナミック パッケージャーによってファイルが変更されることはありません。The dynamic packager is not altering the file. "ストリーミング エンドポイント" (配信元) 機能をバイパスする必要がある場合は、Azure Blob Storage API を使用して、プログレッシブ ダウンロード用に MP4 に直接アクセスすることができます。You can optionally use the Azure blob storage APIs to access an MP4 directly for progressive downloading if you wish to bypass the streaming endpoint (origin) features.

アダプティブ ビットレート MP4 へのエンコードEncode to adaptive bitrate MP4s

Media Services を使用してビデオをエンコードする方法の例については、以下の記事を参照してください。The following articles show examples of how to encode a video with Media Services:

「Standard Encoder の形式およびコーデック」のリストを参照してください。See the list of Standard Encoder formats and codecs.

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

ライブ イベントは、"パススルー" (オンプレミスのライブ エンコーダーによって複数のビットレート ストリームが送信される) または "ライブ エンコード" (オンプレミスのライブ エンコーダーによってシングル ビットレート ストリームが送信される) のいずれかに設定できます。A live event can be set to either a pass-through (an on-premises live encoder sends a multiple bitrate stream) or live encoding (an on-premises live encoder sends a single bitrate stream).

"ダイナミック パッケージ" を使用したライブ ストリーミングの一般的なワークフローは次のとおりです。Here's a common workflow for live streaming with dynamic packaging:

  1. ライブ イベントを作成します。Create a live event.
  2. 取り込み URL を取得し、その URL を使用してコントリビューション フィードを送信するようにオンプレミス エンコーダーを構成します。Get the ingest URL and configure your on-premises encoder to use the URL to send the contribution feed.
  3. プレビュー URL を取得し、それを使用して、エンコーダーからの入力が受信されていることを確認します。Get the preview URL and use it to verify that the input from the encoder is being received.
  4. 新しい資産を作成します。Create a new asset.
  5. ライブ出力を作成し、作成した資産の名前を使用します。Create a live output and use the asset name that you created.
    ライブ出力により、ストリームが資産にアーカイブされます。The live output archives the stream into the asset.
  6. 組み込みのストリーミング ポリシー タイプでストリーミング ロケーターを作成します。Create a streaming locator with the built-in streaming policy types.
    コンテンツを暗号化する場合は、「コンテンツ保護の概要」を確認してください。If you intend to encrypt your content, review Content protection overview.
  7. 使用する URL を取得するためのパスをストリーミング ロケーターに列挙します。List the paths on the streaming locator to get the URLs to use.
  8. ストリーミングするストリーミング エンドポイントのホスト名を取得します。Get the host name for the streaming endpoint you want to stream from.
  9. さまざまな形式 (HLS、MPEG-DASH および Smooth Streaming) をターゲットとする URL を構築します。Build URLs that target different formats (HLS, MPEG-DASH, and Smooth Streaming). さまざまな形式の正しいマニフェストおよび要求の処理は、"ストリーミング エンドポイント" が行います。The streaming endpoint takes care of serving the correct manifest and requests for the different formats.

次の図は、"ダイナミック パッケージ" を使用したライブ ストリーミングのワークフローを示しています。This diagram shows the workflow for live streaming with dynamic packaging:

ダイナミック パッケージを使用したパススルー エンコードのワークフローの図

Media Services v3 のライブ ストリームの詳細については、ライブ ストリーミングの概要に関するページを参照してください。For information about live streaming in Media Services v3, see Live streaming overview.

ダイナミック パッケージでサポートされているビデオ コーデックVideo codecs supported by Dynamic Packaging

ダイナミック パッケージでは、MP4 コンテナー ファイル形式になっていて、H.264 (MPEG-4 AVC または AVC1) または H.265 (HEVC、hev1、または hvc1) でエンコードされたビデオが格納されている、ビデオ ファイルがサポートされています。Dynamic packaging supports video files that are in the MP4 container file format and contain video that is encoded with H.264 (MPEG-4 AVC or AVC1) or H.265 (HEVC, hev1, or hvc1).

注意

"ダイナミック パッケージ" では、最大 4K の解像度および最大 60 フレーム/秒のフレーム レートをテスト済みです。Resolutions of up to 4K and frame rates of up to 60 frames/second have been tested with dynamic packaging.

ダイナミック パッケージによってサポートされているオーディオ コーデックAudio codecs supported by dynamic packaging

ダイナミック パッケージでは、次のいずれかのコーデックでエンコードされたオーディオ ストリームが含まれ、MP4 ファイル コンテナー形式で格納されているオーディオ ファイルもサポートされます。Dynamic packaging also supports audio files that are stored in the MP4 file container format containing encoded audio stream in one of the following codecs:

  • AAC (AAC-LC、HE-AAC v1、または HE-AAC v2)。AAC (AAC-LC, HE-AAC v1, or HE-AAC v2).

  • Dolby Digital Plus (Enhanced AC-3 または E-AC3)。Dolby Digital Plus (Enhanced AC-3 or E-AC3). ダイナミック パッケージを使用するには、エンコードされたオーディオが MP4 コンテナー形式で格納されている必要があります。The encoded audio must be stored in the MP4 container format to work with Dynamic Packaging.

  • Dolby AtmosDolby Atmos

    Dolby Atmos コンテンツのストリーミングは、CSF (Common Streaming Format) または CMAF (Common Media Application Format) フラグメント化 MP4 による MPEG-DASH プロトコルなどの標準でサポートされ、CMAF による HLS (HTTP ライブ ストリーミング) 経由でサポートされています。Streaming Dolby Atmos content is supported for standards like the MPEG-DASH protocol with either Common Streaming Format (CSF) or Common Media Application Format (CMAF) fragmented MP4, and via HTTP Live Streaming (HLS) with CMAF.

  • DTSDTS
    DASH-CSF、DASH-CMAF、HLS-M2TS、HLS-CMAF パッケージ形式でサポートされている DTS コード:DTS codecs supported by DASH-CSF, DASH-CMAF, HLS-M2TS, and HLS-CMAF packaging formats are:

    • DTS Digital Surround (dtsc)DTS Digital Surround (dtsc)
    • DTS-HD High Resolution と DTS-HD Master Audio (dtsh)DTS-HD High Resolution and DTS-HD Master Audio (dtsh)
    • DTS Express (dtse)DTS Express (dtse)
    • DTS-HD Lossless (コアなし) (dtsl)DTS-HD Lossless (no core) (dtsl)

ダイナミック パッケージでは、複数のコーデックと言語が使用された複数のオーディオ トラックがある資産のストリーム配信のために、DASH または HLS (バージョン 4 以降) を使用して複数のオーディオ トラックがサポートされます。Dynamic packaging supports multiple audio tracks with DASH or HLS (version 4 or later) for streaming assets that have multiple audio tracks with multiple codecs and languages.

上記のすべてのオーディオ コーデックで、ダイナミック パッケージを使用するには、エンコードされたオーディオが MP4 コンテナー形式で格納されている必要があります。For all of the above audio codecs, the encoded audio must be stored in the MP4 container format to work with Dynamic Packaging. サービスでは、Blob Storage での生の基本ストリーム ファイル形式はサポートされていません (たとえば、.dts や .ac3 はサポートされていません)。The service does not support raw elementary stream file formats on blob storage (for example the following would not be supported - .dts, .ac3.)

オーディオ パッケージでは、拡張子が .mp4 または .mp4a のファイルのみがサポートされています。Only files with the .mp4 of .mp4a extension are supported for audio packaging.

制限事項Limitations

AAC 5.1 オーディオに関する iOS の制限iOS limitation on AAC 5.1 audio

Apple iOS デバイスは、5.1 AAC オーディオ コーデックをサポートしません。Apple iOS devices do not support 5.1 AAC audio codec. マルチチャンネル オーディオは、ドルビー デジタルまたはドルビー デジタル プラス コーデックを使用してエンコードする必要があります。Multi-channel audio must be encoded using Dolby Digital or Dolby Digital Plus codecs.

詳細については、「Apple デバイスの HLS 作成仕様」を参照してください。For detailed information, see HLS authoring specification for apple devices.

注意

Media Services では、Dolby Digital、Dolby Digital Plus、Dolby Digital Plus with Dolby Atmos マルチチャンネル オーディオ形式のエンコードがサポートされません。Media Services does not support encoding of Dolby Digital, Dolby Digital Plus or Dolby Digital Plus with Dolby Atmos multi-channel audio formats.

ドルビー デジタル オーディオDolby Digital audio

Media Services ダイナミック パッケージでは現在、ドルビー デジタル (AC3) オーディオを含んだファイルがサポートされません (ドルビーによってレガシ コーデックと見なされているため)。Media Services dynamic packaging does not currently support files that contain Dolby Digital (AC3) audio (as this is considered a legacy codec by Dolby).

マニフェストManifests

Media Services のダイナミック パッケージでは、HLS、MPEG-DASH、Smooth Streaming のストリーミング クライアント マニフェストが、URL 内の形式セレクターに基づいて動的に生成されます。In Media Services dynamic packaging, the streaming client manifests for HLS, MPEG-DASH, and Smooth Streaming are dynamically generated based on the format selector in the URL.

マニフェスト ファイルには、トラックの種類 (オーディオ、ビデオ、またはテキスト)、トラック名、開始時刻と終了時刻、ビットレート (品質)、トラック言語、プレゼンテーション ウィンドウ (固定時間のスライディング ウィンドウ)、ビデオ コーデック (FourCC) などの、ストリーミング メタデータが含まれます。A manifest file includes streaming metadata such as track type (audio, video, or text), track name, start and end time, bitrate (qualities), track languages, presentation window (sliding window of fixed duration), and video codec (FourCC). また、次に再生可能なビデオ フラグメントとその場所の情報を通知して、次のフラグメントを取得するようにプレイヤーに指示します。It also instructs the player to retrieve the next fragment by providing information about the next playable video fragments that are available and their location. フラグメント (またはセグメント) とは、ビデオ コンテンツの実際の "チャンク" です。Fragments (or segments) are the actual "chunks" of video content.

Examples

HLSHLS

以下に示すのは、HLS マニフェスト ファイル (HLS マスター プレイリストとも呼ばれます) の例です。Here's an example of an HLS manifest file, also called an HLS master playlist:

#EXTM3U
#EXT-X-VERSION:4
#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="audio",NAME="aac_eng_2_128041_2_1",LANGUAGE="eng",DEFAULT=YES,AUTOSELECT=YES,URI="QualityLevels(128041)/Manifest(aac_eng_2_128041_2_1,format=m3u8-aapl)"
#EXT-X-STREAM-INF:BANDWIDTH=536608,RESOLUTION=320x180,CODECS="avc1.64000d,mp4a.40.2",AUDIO="audio"
QualityLevels(381048)/Manifest(video,format=m3u8-aapl)
#EXT-X-I-FRAME-STREAM-INF:BANDWIDTH=536608,RESOLUTION=320x180,CODECS="avc1.64000d",URI="QualityLevels(381048)/Manifest(video,format=m3u8-aapl,type=keyframes)"
#EXT-X-STREAM-INF:BANDWIDTH=884544,RESOLUTION=480x270,CODECS="avc1.640015,mp4a.40.2",AUDIO="audio"
QualityLevels(721495)/Manifest(video,format=m3u8-aapl)
#EXT-X-I-FRAME-STREAM-INF:BANDWIDTH=884544,RESOLUTION=480x270,CODECS="avc1.640015",URI="QualityLevels(721495)/Manifest(video,format=m3u8-aapl,type=keyframes)"
#EXT-X-STREAM-INF:BANDWIDTH=1327398,RESOLUTION=640x360,CODECS="avc1.64001e,mp4a.40.2",AUDIO="audio"
QualityLevels(1154816)/Manifest(video,format=m3u8-aapl)
#EXT-X-I-FRAME-STREAM-INF:BANDWIDTH=1327398,RESOLUTION=640x360,CODECS="avc1.64001e",URI="QualityLevels(1154816)/Manifest(video,format=m3u8-aapl,type=keyframes)"
#EXT-X-STREAM-INF:BANDWIDTH=2413312,RESOLUTION=960x540,CODECS="avc1.64001f,mp4a.40.2",AUDIO="audio"
QualityLevels(2217354)/Manifest(video,format=m3u8-aapl)
#EXT-X-I-FRAME-STREAM-INF:BANDWIDTH=2413312,RESOLUTION=960x540,CODECS="avc1.64001f",URI="QualityLevels(2217354)/Manifest(video,format=m3u8-aapl,type=keyframes)"
#EXT-X-STREAM-INF:BANDWIDTH=3805760,RESOLUTION=1280x720,CODECS="avc1.640020,mp4a.40.2",AUDIO="audio"
QualityLevels(3579827)/Manifest(video,format=m3u8-aapl)
#EXT-X-I-FRAME-STREAM-INF:BANDWIDTH=3805760,RESOLUTION=1280x720,CODECS="avc1.640020",URI="QualityLevels(3579827)/Manifest(video,format=m3u8-aapl,type=keyframes)"
#EXT-X-STREAM-INF:BANDWIDTH=139017,CODECS="mp4a.40.2",AUDIO="audio"
QualityLevels(128041)/Manifest(aac_eng_2_128041_2_1,format=m3u8-aapl)

MPEG-DASHMPEG-DASH

以下に示すのは、MPEG-DASH マニフェスト ファイル (MPEG-DASH Media Presentation Description (MPD) とも呼ばれます) の例です。Here's an example of an MPEG-DASH manifest file, also called an MPEG-DASH Media Presentation Description (MPD):

<?xml version="1.0" encoding="UTF-8"?>
<MPD xmlns="urn:mpeg:dash:schema:mpd:2011" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" profiles="urn:mpeg:dash:profile:isoff-live:2011" type="static" mediaPresentationDuration="PT1M10.315S" minBufferTime="PT7S">
   <Period>
      <AdaptationSet id="1" group="5" profiles="ccff" bitstreamSwitching="false" segmentAlignment="true" contentType="audio" mimeType="audio/mp4" codecs="mp4a.40.2" lang="en">
         <SegmentTemplate timescale="10000000" media="QualityLevels($Bandwidth$)/Fragments(aac_eng_2_128041_2_1=$Time$,format=mpd-time-csf)" initialization="QualityLevels($Bandwidth$)/Fragments(aac_eng_2_128041_2_1=i,format=mpd-time-csf)">
            <SegmentTimeline>
               <S d="60160000" r="10" />
               <S d="41386666" />
            </SegmentTimeline>
         </SegmentTemplate>
         <Representation id="5_A_aac_eng_2_128041_2_1_1" bandwidth="128041" audioSamplingRate="48000" />
      </AdaptationSet>
      <AdaptationSet id="2" group="1" profiles="ccff" bitstreamSwitching="false" segmentAlignment="true" contentType="video" mimeType="video/mp4" codecs="avc1.640020" maxWidth="1280" maxHeight="720" startWithSAP="1">
         <SegmentTemplate timescale="10000000" media="QualityLevels($Bandwidth$)/Fragments(video=$Time$,format=mpd-time-csf)" initialization="QualityLevels($Bandwidth$)/Fragments(video=i,format=mpd-time-csf)">
            <SegmentTimeline>
               <S d="60060000" r="10" />
               <S d="42375666" />
            </SegmentTimeline>
         </SegmentTemplate>
         <Representation id="1_V_video_1" bandwidth="3579827" width="1280" height="720" />
         <Representation id="1_V_video_2" bandwidth="2217354" codecs="avc1.64001F" width="960" height="540" />
         <Representation id="1_V_video_3" bandwidth="1154816" codecs="avc1.64001E" width="640" height="360" />
         <Representation id="1_V_video_4" bandwidth="721495" codecs="avc1.640015" width="480" height="270" />
         <Representation id="1_V_video_5" bandwidth="381048" codecs="avc1.64000D" width="320" height="180" />
      </AdaptationSet>
   </Period>
</MPD>

スムーズ ストリーミングSmooth Streaming

以下に示すのは、Smooth Streaming マニフェスト ファイルの例です。Here's an example of a Smooth Streaming manifest file:

<?xml version="1.0" encoding="UTF-8"?>
<SmoothStreamingMedia MajorVersion="2" MinorVersion="2" Duration="703146666" TimeScale="10000000">
   <StreamIndex Chunks="12" Type="audio" Url="QualityLevels({bitrate})/Fragments(aac_eng_2_128041_2_1={start time})" QualityLevels="1" Language="eng" Name="aac_eng_2_128041_2_1">
      <QualityLevel AudioTag="255" Index="0" BitsPerSample="16" Bitrate="128041" FourCC="AACL" CodecPrivateData="1190" Channels="2" PacketSize="4" SamplingRate="48000" />
      <c t="0" d="60160000" r="11" />
      <c d="41386666" />
   </StreamIndex>
   <StreamIndex Chunks="12" Type="video" Url="QualityLevels({bitrate})/Fragments(video={start time})" QualityLevels="5">
      <QualityLevel Index="0" Bitrate="3579827" FourCC="H264" MaxWidth="1280" MaxHeight="720" CodecPrivateData="0000000167640020ACD9405005BB011000003E90000EA600F18319600000000168EBECB22C" />
      <QualityLevel Index="1" Bitrate="2217354" FourCC="H264" MaxWidth="960" MaxHeight="540" CodecPrivateData="000000016764001FACD940F0117EF01100000303E90000EA600F1831960000000168EBECB22C" />
      <QualityLevel Index="2" Bitrate="1154816" FourCC="H264" MaxWidth="640" MaxHeight="360" CodecPrivateData="000000016764001EACD940A02FF9701100000303E90000EA600F162D960000000168EBECB22C" />
      <QualityLevel Index="3" Bitrate="721495" FourCC="H264" MaxWidth="480" MaxHeight="270" CodecPrivateData="0000000167640015ACD941E08FEB011000003E90000EA600F162D9600000000168EBECB22C" />
      <QualityLevel Index="4" Bitrate="381048" FourCC="H264" MaxWidth="320" MaxHeight="180" CodecPrivateData="000000016764000DACD941419F9F011000003E90000EA600F14299600000000168EBECB22C" />
      <c t="0" d="60060000" r="11" />
      <c d="42375666" />
   </StreamIndex>
</SmoothStreamingMedia>

マニフェスト内のトラックの名前付けNaming of tracks in the manifest

.ism ファイルにオーディオ トラック名が指定されている場合、Media Services によって、特定のオーディオ トラックのテクスチャ情報を指定するための Label 要素が AdaptationSet 内に追加されます。出力 DASH マニフェストの例:If an audio track name is specified in the .ism file, Media Services adds a Label element within an AdaptationSet to specify the textural information for the specific audio track. An example of the output DASH manifest:

<AdaptationSet codecs="mp4a.40.2" contentType="audio" lang="en" mimeType="audio/mp4" subsegmentAlignment="true" subsegmentStartsWithSAP="1">
  <Label>audio_track_name</Label>
  <Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"/>
  <Representation audioSamplingRate="48000" bandwidth="131152" id="German_Forest_Short_Poem_english-en-68s-2-lc-128000bps_seg">
    <BaseURL>German_Forest_Short_Poem_english-en-68s-2-lc-128000bps_seg.mp4</BaseURL>
  </Representation>
</AdaptationSet>

プレーヤーは、Label 要素を使用して UI に表示できます。The player can use the Label element to display on its UI.

オーディオ説明トラックのシグナル通知Signaling audio description tracks

ナレーション トラックをビデオに追加することで、目が不自由なクライアントがナレーションを聞いてビデオ録画を追うことができます。You can add a narration track to your video to help visually impaired clients follow the video recording by listening to the narration. オーディオ トラックには、マニフェストでオーディオ説明として注釈を付ける必要があります。You need to annotate an audio track as audio description in the manifest. そのためには、"accessibility" パラメーターと "role" パラメーターを .ism ファイルに追加します。To do that, add “accessibility” and “role” parameters to the .ism file. オーディオ トラックをオーディオ説明としてシグナル通知するためには、これらのパラメーターを正しく設定する必要があります。It's your responsibility to set these parameters correctly to signal an audio track as audio description. たとえば、特定のオーディオ トラックの .ism ファイルに <param name="accessibility" value="description" /><param name="role" value="alternate" を追加します。For example, add <param name="accessibility" value="description" /> and <param name="role" value="alternate" to the .ism file for a specific audio track.

詳細については、説明を含んだオーディオ トラックをシグナル通知する方法の例を参照してください。For more information, see the How to signal a descriptive audio track example.

Smooth Streaming マニフェストSmooth Streaming manifest

Smooth Streaming ストリームを再生している場合、そのオーディオ トラックに対応する Accessibility 属性と Role 属性の値がマニフェストに含まれています。たとえば、オーディオ説明であることを示すために、Role="alternate" Accessibility="description"StreamIndex 要素に追加されます。If you're playing a Smooth Streaming stream, the manifest would carry values in Accessibility and Role attributes for that audio track. For example, Role="alternate" Accessibility="description" would be added in the StreamIndex element to indicate it's an audio description.

DASH マニフェストDASH manifest

DASH マニフェストの場合は、オーディオ説明をシグナル通知するために次の 2 つの要素が追加されます。For DASH manifest, the following two elements would be added to signal the audio description:

<Accessibility schemeIdUri="urn:mpeg:dash:role:2011" value="description"/>
<Role schemeIdUri="urn:mpeg:dash:role:2011" value="alternate"/>

HLS プレイリストHLS playlist

HLS v7 以降 (format=m3u8-cmaf) では、オーディオ説明トラックをシグナル通知する際に、そのプレイリストに AUTOSELECT=YES,CHARACTERISTICS="public.accessibility.describes-video" が含まれます。For HLS v7 and above (format=m3u8-cmaf), its playlist would carry AUTOSELECT=YES,CHARACTERISTICS="public.accessibility.describes-video" when the audio description track is signaled.

Example

詳細については、オーディオ説明トラックをシグナル通知する方法に関するページを参照してください。For more information, see How to signal audio description tracks.

動的マニフェストDynamic manifest

プレーヤーに送信されるトラック数、形式、ビットレート、およびプレゼンテーション時間枠を制御するために、Media Services ダイナミック パッケージャーで動的フィルターを使用できます。To control the number of tracks, formats, bitrates, and presentation time windows that are sent to players, you can use dynamic filtering with the Media Services dynamic packager. 詳細については、ダイナミック パッケージャーでの事前フィルター処理マニフェストに関するページを参照してください。For more information, see Pre-filtering manifests with the dynamic packager.

動的な暗号化Dynamic encryption

"動的暗号化" を使用すると、AES-128 または次の 3 つの主要なデジタル著作権管理 (DRM) システムのいずれかを用いて、ライブまたはオンデマンドのコンテンツを動的に暗号化できます。コンテンツを配信できます。You can use dynamic encryption to dynamically encrypt your live or on-demand content with AES-128 or any of the three major digital rights management (DRM) systems: Microsoft PlayReady, Google Widevine, and Apple FairPlay. Media Services では、承認されたクライアントに AES キーと DRM ライセンスを配信するためのサービスも提供しています。Media Services also provides a service for delivering AES keys and DRM licenses to authorized clients. 詳細については、動的暗号化に関するページを参照してください。For more information, see dynamic encryption.

注意

Widevine は Google Inc. によって提供されるサービスであり、Google Inc. の利用規約とプライバシー ポリシーが適用されます。Widevine is a service provided by Google Inc. and subject to the terms of service and Privacy Policy of Google, Inc.

詳細情報More information

Azure Media Services コミュニティを参照して、さまざまな質問の方法、フィードバックする方法、Media Services に関する最新情報の入手方法を確認してください。Check out Azure Media Services community to see different ways you can ask questions, give feedback, and get updates about Media Services.

お困りの際は、Need help?

[新しいサポート要求] に移動することで、サポート チケットを開くことができます。You can open a support ticket by navigating to New support request.

次のステップNext steps

ビデオのアップロード、エンコード、およびストリーミングUpload, encode, and stream videos