AssetFilter
AssetFilter
используются для определения фильтров для манифестов потоковой передачи ресурса. Определенные фильтры можно применять к любому из следующих протоколов потоковой передачи: HLS, MPEG-DASH, Smooth Streaming и HDS. Службы мультимедиа динамически создают манифесты на основе указанных фильтров. Фильтры можно определить на глобальном уровне (Фильтр) или на уровне ресурсов (AssetFilter
). Используйте AssetFilter
для применения фильтров к определенному ресурсу. Используйте Filter
для применения фильтров к любому из ваших ресурсов.
Подробный обзор и примеры кода динамически создаваемых манифестов см. в статье Обзор динамических манифестов.
В этом разделе представлен обзор сущности AssetFilter
(используемой для определения локальных фильтров), а также показано, как выполнять различные операции с помощью REST API Служб мультимедиа.
Важно!
При доступе к сущностям в службах мультимедиа необходимо задать определенные поля и значения заголовков в HTTP-запросах.
Дополнительные сведения см. в статье Настройка rest API Служб мультимедиа Разработка и подключение к Службам мультимедиа с помощью REST API Служб мультимедиа.
Свойства AssetFilter
Свойство | Тип | Описание |
---|---|---|
Id Только для чтения. Устанавливается Службами мультимедиа во время создания. |
Edm.String | Уникальный идентификатор. |
ParentAssetId |
Edm.String | Идентификатор родительского ресурса, содержащего коллекцию этих фильтров. |
Name |
Edm.String | Понятное имя для AssetFilter. |
PresentationTimeRange |
PresentationTimeRange | Группа PresentationTimeRange правил используется для фильтрации начальных и конечных точек манифеста, длины окна презентации и позиции запуска в реальном времени. Службы мультимедиа используют пересечения нескольких диапазонов для определения окончательного окна презентации. |
Tracks |
FilterTrackSelect | Содержит коллекцию объектов FilterTrackPropertyCondition . |
FirstQuality |
FirstQuality | First Quality of Manifest Filter — указывает первую скорость качества для HLS. |
Создание фильтра
Создайте фильтр с помощью HTTP-запроса POST.
Метод | Универсальный код ресурса (URI) запроса | Версия HTTP |
---|---|---|
POST | <https:// accountname.restv2>.<location.media.azure.net/api/AssetFilters> | HTTP/1.1 |
Пример запроса
Вы можете опробовать следующий пример на вкладке Fiddler's Composer.
Чтобы получить последнюю версию x-ms-version:
, см. раздел REST Служб мультимедиа.
Заголовки запросов
POST https://<accountname>.restv2.<location>.media.azure.net/api/AssetFilters 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":"TestFilter",
"ParentAssetId":"nb:cid:UUID:536e555d-1500-80c3-92dc-f1e4fdc6c592",
"PresentationTimeRange":{
"StartTimestamp":"0",
"EndTimestamp":"9223372036854775807",
"PresentationWindowDuration":"12000000000",
"LiveBackoffDuration":"0",
"Timescale":"10000000"
},
"Tracks":[
{
"PropertyConditions":
[
{
"Property":"Type",
"Value":"audio",
"Operator":"Equal"
},
{
"Property":"Bitrate",
"Value":"0-2147483647",
"Operator":"Equal"
}
]
}
]
}
Ответ
HTTP/1.1 201 Created
. . .
Вывод списка фильтров
Возвращает все assetFilters, связанные с ресурсом.
Метод | Универсальный код ресурса (URI) запроса | Версия HTTP |
---|---|---|
GET | <https:// accountname.restv2>.<location.media.azure.net/api/Assets>('assetId')/AssetFilters() | HTTP/1.1 |
Верните определенные assetFilters, указав идентификатор AssetFilter, возвращенный при создании сущности.
Метод | Универсальный код ресурса (URI) запроса | Версия HTTP |
---|---|---|
GET | <https:// accountname.restv2>.<location.media.azure.net/api/> AssetFilters('assetFilterID') | HTTP/1.1 |
Пример запроса
Вы можете опробовать следующий пример на вкладке Fiddler's Composer.
Чтобы получить последнюю версию x-ms-version:
, см. раздел REST Служб мультимедиа.
Получение всех фильтров assetFilter, связанных с ресурсом.
GET https://<accountname>.restv2.<location>.media.azure.net/api/Assets('nb%3Acid%3AUUID%3A536e555d-1500-80c3-92dc-f1e4fdc6c592')/AssetFilters 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
x-ms-client-request-id: 00000000-0000-0000-0000-000000000000
Host: media.windows.net
Получите AssetFilter на основе его идентификатора.
GET https://<accountname>.restv2.<location>.media.azure.net/api/AssetFilters('nb%3Acid%3AUUID%3A536e555d-1500-80c3-92dc-f1e4fdc6c592__%23%23%23__TestFilter') 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
x-ms-client-request-id: 00000000-0000-0000-0000-000000000000
Host: media.windows.net
Обновление фильтра
Используйте PATCH, PUT или MERGE для обновления AssetFilter новыми значениями свойств.
Примечание
При обновлении фильтра может понадобиться до 2 минут на обновление правил конечной точкой потоковой передачи. Если содержимое было обработано с помощью данного фильтра (и кэшировано на прокси-серверах и в кэшах CDN), обновление этого фильтра может привести к сбоям проигрывателя. Рекомендуется очистить кэш после обновления фильтра. Если такой вариант невозможен, рассмотрите возможность использования другого фильтра.
Метод | Универсальный код ресурса (URI) запроса | Версия HTTP |
---|---|---|
PATCH/PUT/MERGE Дополнительные сведения об этих операциях см. здесь. |
<https:// accountname.restv2>.<location.media.azure.net/api/Filters>('filterName') | HTTP/1.1 |
Пример запроса
Вы можете опробовать следующий пример на вкладке Fiddler's Composer.
Чтобы получить последнюю версию x-ms-version:
, см. раздел REST Служб мультимедиа.
Заголовки запроса:
MERGE https://<accountname>.restv2.<location>.media.azure.net/api/AssetFilters('nb%3Acid%3AUUID%3A536e555d-1500-80c3-92dc-f1e4fdc6c592__%23%23%23__TestFilter') 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/AssetFilters>('assetFilterId') | HTTP/1.1 |
Пример запроса
Вы можете опробовать следующий пример на вкладке Fiddler's Composer.
Чтобы получить последнюю версию x-ms-version:
, см. раздел REST Служб мультимедиа.
DELETE https://<accountname>.restv2.<location>.media.azure.net/api/AssetFilters('nb%3Acid%3AUUID%3A536e555d-1500-80c3-92dc-f1e4fdc6c592__%23%23%23__TestFilter') 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