Share via


使用 CLI 建立篩選器

媒體服務標誌 v3


警告

Azure 媒體服務將於 2024 年 6 月 30 日淘汰。 如需詳細資訊,請參閱 AMS淘汰指南

當您提供內容給客戶 (串流即時活動或點播視訊) 時,用戶端需要的彈性可能比預設資產資訊清單檔案中所述的還多。 Azure 媒體服務可讓您為您的內容定義帳戶篩選器與資產篩選器。

如需此功能和其使用案例的詳細描述,請參閱動態資訊清單篩選

此主題說明如何為點播視訊資產設定篩選器,以及如何使用適用於第三版媒體服務的 CLI 來建立帳戶篩選器資產篩選器

注意

請務必檢閱 presentationTimeRange

Prerequisites

定義篩選器

下列範例定義新增到最終資訊清單的曲目選取條件。 此篩選包含格式為 EC-3 的所有音軌,以及位元速率介於 0-1000000 的所有影像軌。

秘訣

如果您打算在 REST 中定義篩選器,請注意,您必須包含「屬性」包裝函式 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 參數。 使用 @{file} 從檔案載入 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 指令清單

媒體服務可讓您建立預先篩選的串流定位器,方法是在串流定位器實體的篩選屬性中傳入篩選屬性的集合。 這可讓您預先篩選串流定位器上的所有指令清單。 原始指令清單無法再透過此串流定位器取得,而且只有篩選後的回應可供要求來自已篩選串流定位器之 DASH 或 HLS URL 的用戶端存取。 這在您想要只發佈資產部分的情況中很有用,並防止用戶藉由操作 HLS 或 DASH 指令清單 URL 的查詢字串來存取資產的完整原始指令清單。 如果您想要套用篩選,但不想在URL中公開篩選名稱,讓客戶自行操作,建議您使用此功能。

您可以在您的串流定位器上指定一個的資產或帳戶篩選器清單。 動態封裝程式會套用此篩選器清單與用戶端在 URL 中指定的篩選器。 此組合會產生動態資訊清單,其以您在串流定位器上指定的 URL 和篩選為基礎。

更新篩選器

篩選和串流定位器可以即時更新,但請記住,在前端網頁伺服器上更新任何更新最多可能需要 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 即時串流 (HLS)、MPEG-DASH 和 Smooth Streaming。

下表顯示包含篩選器之 URL 的一些範例:

通訊協定 範例
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)
Smooth Streaming https://amsv3account-usw22.streaming.media.azure.net/fecebb23-46f6-490d-8b70-203e86b0df58/bigbuckbunny.ism/manifest(filter=myAssetFilter)

另請參閱

Azure CLI

取得說明及支援

您可以連絡媒體服務並提出問題,或遵循下列其中一種方法來追蹤我們的更新: