使用 CLI 建立篩選器
警告
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) |
另請參閱
取得說明及支援
您可以連絡媒體服務並提出問題,或遵循下列其中一種方法來追蹤我們的更新:
- 問與答
- Stack Overflow。 使用
azure-media-services
標記問題。 - @MSFTAzureMedia 或使用 @AzureSupport 來要求支援。
- 透過 Azure 入口網站 開啟支援票證。