Share via


Filter

La entidad Filter se utiliza para definir filtros para los manifiestos de streaming de activos. 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 en un nivel global (Filter) o en el nivel de recurso (AssetFilter). Use Filter para aplicar filtros a cualquiera de sus activos. Use AssetFilter para aplicar filtros a un activo específico.

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 Filter (usada para definir filtros globales) 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 Filter

Propiedad Tipo Descripción
Name Edm.String Nombre descriptivo del filtro.
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/Filters> 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/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  
  

Cuerpo de la solicitud

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

Response

HTTP/1.1 201 Created  
. . .  
  

Enumerar filtros

Para recuperar filtros, use una solicitud HTTP GET.

Método URI de solicitud Versión HTTP
GET <https:// accountname.restv2>.<location.media.azure.net/api/Filters> HTTP/1.1
Método URI de solicitud Versión HTTP
GET <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.

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  
  

Actualización de un filtro

Use PATCH, PUT o MERGE para actualizar un Filter 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:

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  
  

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/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.

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