Media Services REST API を使用したフィルターの作成Creating filters with Media Services REST API

Media Services ロゴ v3media services logo v3


コンテンツを顧客に配信 (ライブ イベントやビデオ オン デマンドをストリーム配信) する際、アセットの既定のマニフェスト ファイルに記述された内容だけではクライアントのニーズに柔軟に対応できない場合があります。When delivering your content to customers (streaming Live events or Video on Demand) your client might need more flexibility than what's described in the default asset's manifest file. Azure Media Services では、アカウント フィルターと、コンテンツのアセットフィルターを定義することができます。Azure Media Services enables you to define account filters and asset filters for your content.

この機能と、この機能が使用されているシナリオの詳細については、動的マニフェストフィルターに関する記事を参照してください。For detailed description of this feature and scenarios where it is used, see Dynamic Manifests and Filters.

このトピックでは、ビデオ オン デマンド アセットにフィルターを定義し、REST API を使用してアカウント フィルターアセット フィルターを作成する方法を示しています。This topic shows how to define a filter for a Video on Demand asset and use REST APIs to create Account Filters and Asset Filters.

注意

presentationTimeRange を必ず確認してください。Make sure to review presentationTimeRange.

前提条件Prerequisites

このトピックで説明する手順を完了するには以下を行う必要があります。To complete the steps described in this topic, you have to:

フィルターの定義Define a filter

次に、マニフェストに追加されるトラック選択条件を定義する 要求本文 の例を示します。The following is the Request body example that defines the track selection conditions that are added to the manifest. このフィルターには、EC-3 のオーディオ トラックと、0 から 1,000,000 の範囲のビットレートのビデオ トラックが含まれます。This filter includes any audio tracks that are EC-3 and any video tracks that have bitrate in the 0-1000000 range.

{
    "properties": {
        "tracks": [
          {
                "trackSelections": [
                    {
                        "property": "Type",
                        "value": "Audio",
                        "operation": "Equal"
                    },
                    {
                        "property": "FourCC",
                        "value": "EC-3",
                        "operation": "Equal"
                    }
                ]
            },
            {
                "trackSelections": [
                    {
                        "property": "Type",
                        "value": "Video",
                        "operation": "Equal"
                    },
                    {
                        "property": "Bitrate",
                        "value": "0-1000000",
                        "operation": "Equal"
                    }
                ]
            }
        ]
     }
}

アカウント フィルターの作成Create account filters

ダウンロードした Postman のコレクションで、アカウント フィルター->作成または更新、アカウント フィルター を選択します。In the Postman's collection that you downloaded, select Account Filters->Create or update an Account Filter.

PUT の HTTP 要求メソッドは、以下のようになります。The PUT HTTP request method is similar to:

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/accountFilters/{filterName}?api-version=2018-07-01

本文 タブを選択し、先ほど定義した json コードを貼り付けます。Select the Body tab and paste the json code you defined earlier.

[送信] を選択します。Select Send.

フィルターが作成されました。The filter has been created.

詳細については、「 作成または更新」を参照してください。For more information, see Create or update. フィルターに関する JSON の例も参照してください。Also, see JSON examples for filters.

アセットフィルターの作成Create asset filters

ダウンロードした "Media Services v3" Postman コレクションで、 [アセット] -> [アセット フィルターの作成または更新] を選択します。In the "Media Services v3" Postman collection that you downloaded, select Assets->Create or update Asset Filter.

PUT の HTTP 要求メソッドは、以下のようになります。The PUT HTTP request method is similar to:

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/assets/{assetName}/assetFilters/{filterName}?api-version=2018-07-01

本文 タブを選択し、先ほど定義した json コードを貼り付けます。Select the Body tab and paste the json code you defined earlier.

[送信] を選択します。Select Send.

アセット フィルターが作成されました。The asset filter has been created.

アセット フィルターを作成または更新する方法の詳細については、作成または更新を参照してください。For details on how to create or update asset filters, see Create or update. フィルターに関する JSON の例も参照してください。Also, see JSON examples for filters.

フィルターをストリーミング ロケーターに関連付けるAssociate filters with Streaming Locator

アセットまたはアカウント フィルターの一覧を指定できます。これはストリーミング ロケーターに適用されます。You can specify a list of asset or account filters, which would apply to your Streaming Locator. ダイナミック パッケージャー (ストリーミング エンドポイント) では、クライアントで URL に指定されるフィルターと共にこのフィルターの一覧が適用されます。The Dynamic Packager (Streaming Endpoint) applies this list of filters together with those your client specifies in the URL. この組み合わせによって、URL 内のフィルターとストリーミング ロケーターに指定されたフィルターに基づく動的マニフェストが生成されます。This combination generates a Dynamic Manifest, which is based on filters in the URL + filters you specify on Streaming Locator. フィルターを適用したいものの URL でフィルター名を公開したくない場合は、この機能を使用することをお勧めします。We recommend that you use this feature if you want to apply filters but do not want to expose the filter names in the URL.

REST を使用してフィルターを作成してストリーミング ロケーターに関連付けるには、Streaming Locators - Create API を使用し、要求本文properties.filters を指定します。To create and associate filters with a Streaming Locator using REST, use the Streaming Locators - Create API and specify properties.filters in the Request Body.

フィルターを使用するストリームStream using filters

フィルターを定義すると、クライアントからストリーミング URL で使用できるようになります。Once you define filters, your clients could use them in the streaming URL. フィルターは、アダプティブ ビットレート ストリーミング プロトコル (Apple HTTP Live Streaming (HLS)、MPEG DASH、Smooth Streaming) に適用できます。Filters could be applied to adaptive bitrate streaming protocols: Apple HTTP Live Streaming (HLS), MPEG-DASH, and Smooth Streaming.

次の表に、フィルターを含んだ URL の例をいくつか示します。The following table shows some examples of URLs with filters:

ProtocolProtocol Example
HLSHLS https://amsv3account-usw22.streaming.media.azure.net/fecebb23-46f6-490d-8b70-203e86b0df58/bigbuckbunny.ism/manifest(format=m3u8-aapl,filter=myAccountFilter)
MPEG DASHMPEG DASH https://amsv3account-usw22.streaming.media.azure.net/fecebb23-46f6-490d-8b70-203e86b0df58/bigbuckbunny.ism/manifest(format=mpd-time-csf,filter=myAssetFilter)
スムーズ ストリーミングSmooth Streaming https://amsv3account-usw22.streaming.media.azure.net/fecebb23-46f6-490d-8b70-203e86b0df58/bigbuckbunny.ism/manifest(filter=myAssetFilter)

次のステップNext steps

ビデオのストリーム配信Stream videos