AssetFilter

Los AssetFilter se utilizan para definir filtros para los manifiestos de streaming del activo. Los filtros definidos se pueden aplicar a cualquiera de los siguientes protocolos de streaming: HLS, MPEG-DASH, Smooth Streaming y HDS. Media Services genera manifiestos dinámicamente según los filtros especificados. Los filtros se pueden definir a nivel global (Filtro) o nivel de recurso (AssetFilter). Use AssetFilter para aplicar filtros a un activo específico. Use Filter para aplicar filtros a cualquiera de sus activos.

Para obtener información general detallada y ejemplos de código de manifiestos generados dinámicamente, consulte Información general sobre manifiestos dinámicos.

En este tema encontrará un resumen de la entidad AssetFilter (usada para definir filtros locales) y una demostración de cómo ejecutar distintas operaciones con la API de REST de Servicios multimedia.

Importante

Al obtener acceso a las entidades de Media Services, debe establecer los campos de encabezado específicos y los valores en las solicitudes HTTP.
Para obtener más información, consulte Configuración del desarrollo de la API de REST de Media Services y Conexión a Media Services con la API de REST de Media Services.

Propiedades de AssetFilter

Propiedad Tipo Descripción
Id

Solo lectura. Se establece por Media Services en el momento de la creación.
Edm.String Identificador único.
ParentAssetId Edm.String Identificador de un activo primario que contiene una colección de estos filtros.
Name Edm.String Nombre descriptivo de AssetFilter.
PresentationTimeRange PresentationTimeRange El grupo de reglas PresentationTimeRange se usa para filtrar los puntos de inicio y fin de manifiesto, la longitud de la ventana de presentación y la posición de inicio en directo. Media Services usa las intersecciones de varios intervalos para definir la ventana de presentación final.
Tracks FilterTrackSelect Contiene una colección de FilterTrackPropertyCondition.
FirstQuality FirstQuality First Quality of Manifest Filter, indica la primera velocidad de bits de calidad para HLS.

Crear un filtro

Cree un filtro mediante la solicitud HTTP POST.

Método URI de solicitud Versión HTTP
POST <https:// accountname.restv2>.<location.media.azure.net/api/AssetFilters> HTTP/1.1

Solicitud de ejemplo

Puede probar el ejemplo siguiente en la pestaña Compositor de Fiddler.

Para obtener la versión más reciente x-ms-version:, consulte REST de Media Services.

Encabezados de solicitud

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  
  

Cuerpo de la solicitud

  
{    
   "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"  
            }  
         ]  
      }  
   ]  
}  
  

Response

HTTP/1.1 201 Created  
. . .  
  

Enumerar filtros

Devolver todos los AssetFilter asociados a un activo.

Método URI de solicitud Versión HTTP
GET <https:// accountname.restv2>.<location.media.azure.net/api/Assets>('assetId')/AssetFilters() HTTP/1.1

Devolver un AssetFilter concreto especificando el identificador de AssetFilter que se devolvió cuando se creó la entidad.

Método URI de solicitud Versión HTTP
GET <https:// accountname.restv2>.<location.media.azure.net/api/> AssetFilters('assetFilterID') HTTP/1.1

Solicitud de ejemplo

Puede probar el ejemplo siguiente en la pestaña Compositor de Fiddler.

Para obtener la versión más reciente x-ms-version:, consulte REST de Media Services.

Obtener todos los AssetFilter asociados a un activo.

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  
  

Obtenga un AssetFilter según su identificador.

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  
  

Actualización de un filtro

Uso PATCH, PUT o MERGE para actualizar un AssetFilter con nuevos valores de propiedad.

Nota

Si actualiza un filtro, se pueden tardar hasta 2 minutos en que el extremo de streaming actualice las reglas. Si el contenido se proporcionó con este filtro (y se almacenó en caché en los servidores proxy y cachés de CDN), la actualización de este filtro puede generar errores del reproductor. Se recomienda borrar la memoria caché después de actualizar el filtro. Si esta opción no es posible, piense en usar un filtro diferente.

Método URI de solicitud Versión HTTP
PATCH/PUT/MERGE

Para obtener más información acerca de estas operaciones, vea PATCH, PUT, MERGE.
<https:// accountname.restv2>.<location.media.azure.net/api/Filters>('filterName') HTTP/1.1

Solicitud de ejemplo

Puede probar el ejemplo siguiente en la pestaña Compositor de Fiddler.

Para obtener la versión más reciente x-ms-version:, consulte REST de Media Services.

Encabezados de solicitud:

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  
  

Cuerpo de la solicitud:

{  
   "Tracks":[    
      {    
         "PropertyConditions":  
         [    
            {    
               "Property":"Type",  
               "Value":"audio",  
               "Operator":"Equal"  
            },  
            {    
               "Property":"Bitrate",  
               "Value":"0-2147483647",  
               "Operator":"Equal"  
            }  
         ]  
      }  
   ]  
}  
  

Eliminación de un filtro

Los filtros se pueden eliminar mediante la solicitud HTTP DELETE.

Método URI de solicitud Versión HTTP
Delete <https:// accountname.restv2>.<location.media.azure.net/api/AssetFilters>('assetFilterId') HTTP/1.1

Solicitud de ejemplo

Puede probar el ejemplo siguiente en la pestaña Compositor de Fiddler.

Para obtener la versión más reciente x-ms-version:, consulte REST de Media Services.

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