Share via


Criar filtros com a CLI

Logótipo dos Serviços de Multimédia v3


Aviso

Os Serviços de Multimédia do Azure serão descontinuados a 30 de junho de 2024. Para obter mais informações, veja o Guia de Extinção do AMS.

Ao entregar os seus conteúdos aos clientes (transmissão em fluxo de eventos em direto ou Vídeo a Pedido), o cliente poderá precisar de mais flexibilidade do que o descrito no ficheiro de manifesto do recurso predefinido. Os Serviços de Multimédia do Azure permitem-lhe definir filtros de conta e filtros de recursos para o seu conteúdo.

Para obter uma descrição detalhada desta funcionalidade e dos cenários em que é utilizada, veja Manifestos Dinâmicos e Filtros.

Este tópico mostra como configurar um filtro para um recurso de Vídeo a Pedido e utilizar a CLI para Serviços de Multimédia v3 para criar Filtros de Conta e Filtros de Recursos.

Nota

Certifique-se de que revê presentationTimeRange.

Pré-requisitos

Definir um filtro

O exemplo seguinte define as condições de seleção do registo que são adicionadas ao manifesto final. Este filtro inclui quaisquer faixas de áudio que sejam EC-3 e quaisquer faixas de vídeo que tenham velocidade de transmissão no intervalo 0-1000000.

Dica

Se pretender definir Filtros em REST, tenha em atenção que tem de incluir o objeto JSON do wrapper "Propriedades".

[
    {
        "trackSelections": [
            {
                "property": "Type",
                "value": "Audio",
                "operation": "Equal"
            },
            {
                "property": "FourCC",
                "value": "EC-3",
                "operation": "NotEqual"
            }
        ]
    },
    {
        "trackSelections": [
            {
                "property": "Type",
                "value": "Video",
                "operation": "Equal"
            },
            {
                "property": "Bitrate",
                "value": "0-1000000",
                "operation": "Equal"
            }
        ]
    }
]

Criar filtros de conta

O seguinte comando az ams account-filter cria um filtro de conta com seleções de filtragem que foram definidas anteriormente.

O comando permite-lhe transmitir um parâmetro opcional --tracks que contém JSON que representa as seleções de faixa. Utilize @{file} para carregar JSON a partir de um ficheiro. Se estiver a utilizar a CLI do Azure localmente, especifique todo o caminho do ficheiro:

az ams account-filter create -a amsAccount -g resourceGroup -n filterName --tracks @tracks.json

Além disso, veja exemplos JSON para filtros.

Criar filtros de recursos

O seguinte comando az ams asset-filter cria um filtro de recursos com seleções de filtragem que foram definidas anteriormente.

az ams asset-filter create -a amsAccount -g resourceGroup -n filterName --asset-name assetName --tracks @tracks.json

Além disso, veja exemplos JSON para filtros.

Associar filtros ao Localizador de Transmissão em Fluxo

Filtrar os manifestos HLS ou DASH na criação de um Localizador de Transmissão em Fluxo

Os Serviços de Multimédia permitem-lhe criar um Localizador de Transmissão em Fluxo pré-filtrado ao transmitir uma coleção de filtros na propriedade de filtro na entidade do localizador de transmissão em fluxo. Isto permite-lhe pré-filtrar todos os manifestos no localizador de transmissão em fluxo. O manifesto original já não está disponível através deste localizador de transmissão em fluxo e apenas a resposta filtrada estará acessível aos clientes que solicitam os URLs para DASH ou HLS a partir do localizador de transmissão em fluxo filtrado. Isto é útil em situações em que pretende publicar apenas uma parte de um recurso e impedir que os utilizadores obtenham acesso ao manifesto original completo do recurso ao manipular a cadeia de consulta do URL de manifesto HLS ou DASH. Recomendamos que utilize esta funcionalidade se quiser aplicar filtros, mas não quiser expor os nomes dos filtros no URL para os clientes manipularem por conta própria.

Pode especificar uma lista de filtros de recursos ou contas no Localizador de Transmissão em Fluxo. O Empacotador Dinâmico aplica esta lista de filtros juntamente com os especificados pelo cliente no URL. Esta combinação gera um Manifesto Dinâmico, que se baseia em filtros no URL + filtros que especificar no Localizador de Transmissão em Fluxo.

A atualizar filtros

Os filtros e os localizadores de transmissão em fluxo podem ser atualizados de imediato, mas tenha em atenção que pode demorar até 10 segundos para que quaisquer atualizações sejam atualizadas nos servidores Web front-end e que possam existir problemas com a colocação em cache da CDN a jusante do conteúdo se estiver a atualizar o mesmo Localizador de Transmissão em Fluxo que já foi publicado e utilizado na produção.

Não é recomendado atualizar a definição de filtros associados a um Localizador de Transmissão em Fluxo publicado ativamente, especialmente quando a CDN está ativada. Os servidores de transmissão em fluxo e as CDNs podem ter caches internas que podem resultar na devolução de dados em cache obsoletos.

Se a definição de filtro precisar de ser alterada, considere criar um novo filtro e adicioná-lo ao URL do Localizador de Transmissão em Fluxo ou publicar um Localizador de Transmissão em Fluxo exclusivo que faça referência direta ao filtro atualizado.

Utilizar a CLI para criar um Localizador de Transmissão em Fluxo filtrado

O seguinte código da CLI mostra como criar um Localizador de Transmissão em Fluxo e especificar filters. Esta é uma propriedade opcional que utiliza uma lista separada por espaços de nomes de filtros de recursos e/ou nomes de filtros de conta.

az ams streaming-locator create -a amsAccount -g resourceGroup -n streamingLocatorName \
                                --asset-name assetName \
                                --streaming-policy-name policyName \
                                --filters filterName1 filterName2

Transmitir em fluxo com filtros

Depois de definir filtros, os seus clientes podem utilizá-los no URL de transmissão em fluxo. Os filtros podem ser aplicados a protocolos de transmissão em fluxo de velocidade adaptável: Apple HTTP Live Streaming (HLS), MPEG-DASH e Smooth Streaming.

A tabela seguinte mostra alguns exemplos de URLs com filtros:

Protocolo Exemplo
HLS https://amsv3account-usw22.streaming.media.azure.net/fecebb23-46f6-490d-8b70-203e86b0df58/bigbuckbunny.ism/manifest(format=m3u8-aapl,filter=myAccountFilter)
MPEG DASH https://amsv3account-usw22.streaming.media.azure.net/fecebb23-46f6-490d-8b70-203e86b0df58/bigbuckbunny.ism/manifest(format=mpd-time-csf,filter=myAssetFilter)
Transmissão em Fluxo Uniforme https://amsv3account-usw22.streaming.media.azure.net/fecebb23-46f6-490d-8b70-203e86b0df58/bigbuckbunny.ism/manifest(filter=myAssetFilter)

Ver também

CLI do Azure

Obter ajuda e suporte

Pode contactar os Serviços de Multimédia com perguntas ou seguir as nossas atualizações através de um dos seguintes métodos: