Поделиться через


Фильтр

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