Filtrar
Filter
s são usados para definir filtros para manifestos de streaming de ativos. 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 (Filter
) ou no nível do ativo (AssetFilter). Use Filter
para aplicar filtros a qualquer um de seus ativos. Use AssetFilter
para aplicar filtros a um ativo específico.
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 Filter
entidade (usada para definir filtros globais) 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 do filtro
Propriedade | Type | Descrição |
---|---|---|
Name |
Edm.String | Nome amigável do filtro. |
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/Filters> | 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/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
Corpo da solicitação
{
"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"
}
]
}
]
}
Resposta
HTTP/1.1 201 Created
. . .
Listar filtros
Os filtros podem ser recuperados usando uma solicitação HTTP GET.
Método | URI da solicitação | Versão de HTTP |
---|---|---|
GET | <https:// accountname.restv2>.<location.media.azure.net/api/Filters> | HTTP/1.1 |
Método | URI da solicitação | Versão de HTTP |
---|---|---|
GET | <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.
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
Atualizar um filtro
Use PATCH, PUT ou MERGE para atualizar um Filtro 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:
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
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/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.
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