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


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