你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
筛选器
Filter
用于定义资源的流清单的筛选器。 定义的筛选器可应用于以下任一流式处理协议:HLS、MPEG-DASH、平滑流式处理和 HDS。 Media Services 基于指定的筛选器动态生成清单。 可以在全局级别定义筛选器 () Filter
或资产级别 (AssetFilter) 。 使用 Filter
可将筛选器应用于任何资源。 使用 AssetFilter
可将筛选器应用于特定资源。
有关动态生成的清单的详细概述和代码示例,请参阅 动态清单概述。
本主题提供 Filter
实体(用于定义全局筛选器)的概述,并且还演示如何使用 Media Services REST API 执行各种操作。
重要
访问媒体服务中的实体时,必须在 HTTP 请求中设置特定标头字段和值。
有关详细信息,请参阅设置媒体服务 REST API 开发和使用媒体服务 REST API 连接到媒体服务。
筛选器属性
属性 | 类型 | 说明 |
---|---|---|
Name |
Edm.String | 筛选器的友好名称。 |
PresentationTimeRange |
PresentationTimeRange | PresentationTimeRange 规则组用于筛选清单开始/结束点、演示窗口长度和实时起始位置。 Media Services 使用多个范围的交集来定义最终演示窗口。 |
Tracks |
FilterTrackSelect | 包含 FilterTrackPropertyCondition 的集合。 |
FirstQuality |
FirstQuality | 清单筛选器的第一质量,指示 HLS 的第一个质量比特率。 |
创建筛选器
使用 HTTP POST 请求创建筛选器。
方法 | 请求 URI | HTTP 版本 |
---|---|---|
POST | <https:// accountname.restv2>。<location.media.azure.net/api/Filters> | HTTP/1.1 |
示例请求
可以在 Fiddler 的“编辑器”选项卡中试用以下示例。
若要获取最新的 x-ms-version:
,请参阅 媒体服务 REST。
请求标头
POST https://<accountname>.restv2.<location>.media.azure.net/api/Filters HTTP/1.1
DataServiceVersion: 3.0
MaxDataServiceVersion: 3.0
Content-Type: application/json
Accept: application/json
Accept-Charset: UTF-8
Authorization: Bearer <token value>
x-ms-version: 2.19
x-ms-client-request-id: 00000000-0000-0000-0000-000000000000
Host: media.windows.net
请求正文
{
"Name":"Mobile",
"PresentationTimeRange":{
"StartTimestamp":"0",
"EndTimestamp":"9223372036854775807",
"PresentationWindowDuration":"12000000000",
"LiveBackoffDuration":"0",
"Timescale":"10000000"
},
"Tracks":[
{
"PropertyConditions":[
{
"Property":"Type",
"Value":"video",
"Operator":"Equal"
},
{
"Property":"Bitrate",
"Value":"550000-1350000",
"Operator":"Equal"
}
]
}
]
}
响应
HTTP/1.1 201 Created
. . .
列出筛选器
可以使用 HTTP GET 请求检索筛选器。
方法 | 请求 URI | HTTP 版本 |
---|---|---|
GET | <https:// accountname.restv2>。<location.media.azure.net/api/Filters> | HTTP/1.1 |
方法 | 请求 URI | HTTP 版本 |
---|---|---|
GET | <https:// accountname.restv2>。<location.media.azure.net/api/Filters ('filterName>') | HTTP/1.1 |
示例请求
可以在 Fiddler 的“编辑器”选项卡中试用以下示例。
若要获取最新的 x-ms-version:
,请参阅 媒体服务 REST。
GET https://<accountname>.restv2.<location>.media.azure.net/api/Filters HTTP/1.1
DataServiceVersion: 3.0
MaxDataServiceVersion: 3.0
Accept: application/json
Accept-Charset: UTF-8
Authorization: Bearer <token value>
x-ms-version: 2.19
Host: media.windows.net
更新筛选器
通过 PATCH、PUT 或 MERGE 使用新的属性值更新筛选器。
注意
如果更新筛选器,则流式处理终结点需要 2 分钟的时间来刷新规则。 如果内容是通过使用此筛选器提供的(并在代理和 CDN 缓存中缓存),则更新此筛选器会导致播放器失败。 建议在更新筛选器之后清除缓存。 如果此选项不可用,请考虑使用其他筛选器。
方法 | 请求 URI | HTTP 版本 |
---|---|---|
PATCH/PUT/MERGE 有关这些操作的详细信息,请参阅 PATCH/PUT/MERGE。 |
<https:// accountname.restv2>。<location.media.azure.net/api/Filters ('filterName>') | HTTP/1.1 |
示例请求
可以在 Fiddler 的“编辑器”选项卡中试用以下示例。
若要获取最新的 x-ms-version:
,请参阅 媒体服务 REST。
请求标头:
PATCH https://<accountname>.restv2.<location>.media.azure.net/api/Filters('filterName') HTTP/1.1
DataServiceVersion: 3.0
MaxDataServiceVersion: 3.0
Content-Type: application/json
Accept: application/json
Accept-Charset: UTF-8
Authorization: Bearer <token value>
x-ms-version: 2.19
x-ms-client-request-id: 00000000-0000-0000-0000-000000000000
Host: media.windows.net
请求正文:
{
"Tracks":[
{
"PropertyConditions":
[
{
"Property":"Type",
"Value":"audio",
"Operator":"Equal"
},
{
"Property":"Bitrate",
"Value":"0-2147483647",
"Operator":"Equal"
}
]
}
]
}
删除筛选器
可以使用 HTTP DELETE 请求删除筛选器。
方法 | 请求 URI | HTTP 版本 |
---|---|---|
DELETE | <https:// accountname.restv2>。<location.media.azure.net/api/Filters ('filterName>') | HTTP/1.1 |
示例请求
可以在 Fiddler 的“编辑器”选项卡中试用以下示例。
若要获取最新的 x-ms-version:
,请参阅 媒体服务 REST。
DELETE https://<accountname>.restv2.<location>.media.azure.net/api/Filters('Mobile') HTTP/1.1
DataServiceVersion: 3.0
MaxDataServiceVersion: 3.0
Accept: application/json
Accept-Charset: UTF-8
Authorization: Bearer <token value>
x-ms-version: 2.19
Host: media.windows.net