Фильтр
Filter
используются для определения фильтров для манифестов потоковой передачи ресурсов. Определенные фильтры можно применять к любому из следующих протоколов потоковой передачи: HLS, MPEG-DASH, Smooth Streaming и HDS. Службы мультимедиа динамически создают манифесты на основе указанных фильтров. Фильтры можно определить на глобальном уровне (Filter
) или на уровне ресурсов (AssetFilter). Используйте Filter
для применения фильтров к любому из ваших ресурсов. Используйте AssetFilter
для применения фильтров к определенному ресурсу.
Подробный обзор и примеры кода динамически создаваемых манифестов см. в статье Обзор динамических манифестов.
В этом разделе представлен обзор сущности Filter
(используемой для определения глобальных фильтров), а также показано, как выполнять различные операции с помощью REST API Служб мультимедиа.
Важно!
При доступе к сущностям в службах мультимедиа необходимо задать определенные поля и значения заголовков в HTTP-запросах.
Дополнительные сведения см. в статье Настройка rest API Служб мультимедиа Разработка и подключение к Службам мультимедиа с помощью REST API Служб мультимедиа.
Свойства фильтра
Свойство | Тип | Описание |
---|---|---|
Name |
Edm.String | Понятное имя фильтра. |
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/Filters> | HTTP/1.1 |
Пример запроса
Вы можете опробовать следующий пример на вкладке Fiddler's Composer.
Чтобы получить последнюю версию 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's Composer.
Чтобы получить последнюю версию 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 Дополнительные сведения об этих операциях см. здесь. |
<https:// accountname.restv2>.<location.media.azure.net/api/Filters>('filterName') | HTTP/1.1 |
Пример запроса
Вы можете опробовать следующий пример на вкладке Fiddler's Composer.
Чтобы получить последнюю версию 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's Composer.
Чтобы получить последнюю версию 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