AssetFilter
AssetFilter
s são usados para definir filtros para os manifestos de streaming do ativo. Os filtros definidos podem ser aplicados a qualquer um dos seguintes protocolos de streaming: HLS, MPEG-DASH, Smooth Streaming e HDS. Os Serviços de Mídia geram manifestos dinamicamente com base em filtros especificados. Os filtros podem ser definidos em um nível global (Filtro) ou no nível do ativo (AssetFilter
). Use AssetFilter
para aplicar filtros a um ativo específico. Use Filter
para aplicar filtros a qualquer um de seus ativos.
Para obter uma visão geral detalhada e exemplos de código de manifestos gerados dinamicamente, consulte Visão geral de manifestos dinâmicos.
Este tópico fornece uma visão geral da AssetFilter
entidade (usada para definir filtros locais) e também demonstra como executar várias operações com a API REST dos Serviços de Mídia.
Importante
Ao acessar entidades nos serviços de mídia, você deve definir valores e campos de cabeçalho específicos nas suas solicitações HTTP.
Para obter mais informações, consulte Instalação para desenvolvimento de API REST dos Serviços de Mídia e Conexão aos Serviços de Mídia com a API REST dos Serviços de Mídia.
Propriedades de AssetFilter
Propriedade | Type | Descrição |
---|---|---|
Id Somente leitura. Definido pelos Serviços de Mídia no momento da criação. |
Edm.String | Identificador exclusivo. |
ParentAssetId |
Edm.String | A ID de um ativo pai que contém uma coleção desses filtros. |
Name |
Edm.String | Nome amigável para o AssetFilter. |
PresentationTimeRange |
PresentationTimeRange | O PresentationTimeRange grupo de regras é usado para filtrar pontos de início/término do manifesto, comprimento da janela de apresentação e a posição inicial dinâmica. Os Serviços de Mídia usam interseções de vários intervalos para definir a janela de apresentação final. |
Tracks |
FilterTrackSelect | Contém uma coleção de FilterTrackPropertyCondition s. |
FirstQuality |
FirstQuality | First Quality of Manifest Filter indica a primeira taxa de bits de qualidade para HLS. |
Crie um filtro
Crie um filtro usando a solicitação HTTP POST.
Método | URI da solicitação | Versão de HTTP |
---|---|---|
POST | <https:// accountname.restv2>.<location.media.azure.net/api/AssetFilters> | HTTP/1.1 |
Solicitação de Exemplo
Você pode experimentar o exemplo a seguir na guia Compositor do Fiddler.
Para obter o mais recente x-ms-version:
, consulte REST dos Serviços de Mídia.
Cabeçalhos da solicitação
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
Corpo da solicitação
{
"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"
}
]
}
]
}
Resposta
HTTP/1.1 201 Created
. . .
Listar filtros
Retornar todos os AssetFilters associados a um ativo.
Método | URI da solicitação | Versão de HTTP |
---|---|---|
GET | <https:// accountname.restv2>.<location.media.azure.net/api/Assets>('assetId')/AssetFilters() | HTTP/1.1 |
Retornar um AssetFilters específico especificando a ID de AssetFilter que foi retornada quando a entidade foi criada.
Método | URI da solicitação | Versão de HTTP |
---|---|---|
GET | <https:// accountname.restv2>.<location.media.azure.net/api/> AssetFilters('assetFilterID') | HTTP/1.1 |
Solicitação de Exemplo
Você pode experimentar o exemplo a seguir na guia Compositor do Fiddler.
Para obter o mais recente x-ms-version:
, consulte REST dos Serviços de Mídia.
Obtenha todos os AssetFilters associados a um ativo.
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
Obtenha um AssetFilter com base em sua ID.
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
Atualizar um filtro
Use PATCH, PUT ou MERGE para atualizar um AssetFilter com novos valores de propriedade.
Observação
Ao atualizar um filtro, talvez sejam necessários até 2 minutos para que o ponto de extremidade do streaming atualize as regras. Se o conteúdo foi servido usando esse filtro (e armazenado em cache nos proxies e caches CDN), atualizar esse filtro pode resultar em falhas do player. É recomendável limpar o cache depois de atualizar o filtro. Se essa opção não for possível, considere usar um filtro diferente.
Método | URI da solicitação | Versão de HTTP |
---|---|---|
PATCH/PUT/MERGE Para obter mais informações sobre essas operações, consulte PATCH, PUT, MERGE. |
<https:// accountname.restv2>.<location.media.azure.net/api/Filters>('filterName') | HTTP/1.1 |
Solicitação de Exemplo
Você pode experimentar o exemplo a seguir na guia Compositor do Fiddler.
Para obter o mais recente x-ms-version:
, consulte REST dos Serviços de Mídia.
Cabeçalhos de solicitação:
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
Corpo da solicitação:
{
"Tracks":[
{
"PropertyConditions":
[
{
"Property":"Type",
"Value":"audio",
"Operator":"Equal"
},
{
"Property":"Bitrate",
"Value":"0-2147483647",
"Operator":"Equal"
}
]
}
]
}
Excluir um filtro
Os filtros podem ser excluídos usando uma solicitação HTTP DELETE.
Método | URI da solicitação | Versão de HTTP |
---|---|---|
Delete (excluir) | <https:// accountname.restv2>.<location.media.azure.net/api/AssetFilters>('assetFilterId') | HTTP/1.1 |
Solicitação de Exemplo
Você pode experimentar o exemplo a seguir na guia Compositor do Fiddler.
Para obter o mais recente x-ms-version:
, consulte REST dos Serviços de Mídia.
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