Share via


CLI を使用してフィルターを作成する

Media Services ロゴ v3


警告

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

コンテンツを顧客に配信 (ライブ イベントやビデオ オン デマンドをストリーム配信) する際、資産の既定のマニフェスト ファイルに記述された内容だけではクライアントのニーズに柔軟に対応できない場合があります。 Azure Media Services では、アカウント フィルターと、コンテンツのアセットフィルターを定義することができます。

この機能と、この機能が使用されているシナリオの詳細については、動的マニフェストフィルターに関する記事を参照してください。

このトピックでは、ビデオ オン デマンド資産用のフィルターを構成し、Media Services v3 用の CLI を使用してアカウント フィルター資産 フィルターを作成する方法について説明します。

Note

presentationTimeRange を必ず確認してください。

前提条件

フィルターの定義

次に、最終的なマニフェストに追加されるトラック選択条件を定義する例を示します。 このフィルターには、EC-3 のオーディオ トラックと、0 から 1,000,000 の範囲のビットレートのビデオ トラックが含まれます。

ヒント

REST でフィルターを定義する予定の場合は、"Properties" ラッパー JSON オブジェクトを含める必要があることに注意してください。

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

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

次の az ams account-filter コマンドでは、前に定義したフィルター トラック選択を含むアカウント フィルターが作成されます。

このコマンドを使用すると、トラック選択を表す JSON を含むオプションの --tracks パラメーターを渡すことができます。 ファイルから JSON を読み込むには、@ {ファイル} を使用します。 Azure CLI をローカルで使用している場合は、ファイルのパス全体を指定します。

az ams account-filter create -a amsAccount -g resourceGroup -n filterName --tracks @tracks.json

フィルターに関する JSON の例も参照してください。

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

次の az ams asset-filter コマンドでは、前に定義したフィルター トラック選択を含む資産フィルターが作成されます。

az ams asset-filter create -a amsAccount -g resourceGroup -n filterName --asset-name assetName --tracks @tracks.json

フィルターに関する JSON の例も参照してください。

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

ストリーミング ロケーター作成時に HLS または DASH マニフェストをフィルター処理する

Media Services では、ストリーミング ロケーター エンティティの filter プロパティにフィルターのコレクションを渡すことで、事前にフィルター処理されたストリーミング ロケーターを作成できます。 これにより、ストリーミング ロケーター上のすべてのマニフェストを事前にフィルター処理できます。 元のマニフェストはこのストリーミング ロケーターから利用できなくなり、フィルタリングされたストリーミング ロケーターから DASH または HLS の URL を要求するクライアントには、フィルタリングされた応答のみがアクセス可能となります。 これは、アセットの一部のみを発行し、HLS または DASH マニフェスト URL のクエリ文字列を操作することで、ユーザーがアセットの完全な元のマニフェストにアクセスできないようにする場合に役立ちます。 フィルターを適用したいものの、お客様が独自に操作できるように URL でフィルター名を公開したくない場合に、この機能を使用することをお勧めします。

ストリーミング ロケーターに対する資産またはアカウント フィルターの一覧を指定できます。 ダイナミック パッケージャーでは、クライアントで URL に指定されるフィルターと共にこのフィルターの一覧が適用されます。 この組み合わせによって、URL 内のフィルターとストリーミング ロケーターに指定されたフィルターに基づく動的マニフェストが生成されます。

フィルターの更新

フィルターとストリーミング ロケーターはその場で更新できますが、フロントエンド Web サーバーで更新されるまでに最大で 10 秒かかる場合があることに注意してください。また、既に運用環境で公開、使用されているのと同じストリーミング ロケーターを更新する場合、コンテンツのダウンストリーム CDN キャッシュに問題が発生する可能性があります。

特に CDN が有効になっている場合は、アクティブに公開されているストリーミング ロケーターに関連付けられているフィルターの定義を更新することは推奨しません。 ストリーミング サーバーと CDN には内部キャッシュが存在する可能性があり、その結果として古いキャッシュ データが返される場合があります。

フィルター定義の変更が必要な場合は、新しいフィルターを作成してそれをストリーミング ロケーターの URL に追加するか、または更新されたフィルターを直接参照する新しいストリーミング ロケーターを公開することを検討してください。

CLI を使用してフィルター処理されたストリーミング ロケーターを作成する

次の CLI コードは、ストリーミング ロケーターを作成し、filters を指定する方法を示します。 これは、アセット フィルター名やアカウント フィルター名のスペースで区切られたリストを受け取る省略可能なプロパティです。

az ams streaming-locator create -a amsAccount -g resourceGroup -n streamingLocatorName \
                                --asset-name assetName \
                                --streaming-policy-name policyName \
                                --filters filterName1 filterName2

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

フィルターを定義すると、クライアントからストリーミング URL で使用できるようになります。 フィルターは、アダプティブ ビットレート ストリーミング プロトコル (Apple HTTP Live Streaming (HLS)、MPEG DASH、Smooth Streaming) に適用できます。

次の表に、フィルターを含んだ URL の例をいくつか示します。

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

関連項目

Azure CLI

ヘルプとサポート

質問がある場合は Media Services に問い合わせるか、次のいずれかの方法で更新内容に従ってください。