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