Partilhar via


Filtrar os seus manifestos com o Dynamic Packager

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.

Quando está a fornecer conteúdo de transmissão em fluxo de velocidade de transmissão adaptável para dispositivos, por vezes tem de publicar várias versões de um manifesto para direcionar capacidades específicas do dispositivo ou largura de banda de rede disponível. O Packager Dinâmico permite-lhe especificar filtros que podem filtrar codecs, resoluções, velocidades de transmissão e combinações de faixas de áudio específicas no momento. A filtragem remove a necessidade de criar várias cópias. Basta publicar um novo URL com um conjunto específico de filtros configurados para os seus dispositivos de destino (iOS, Android, SmartTV ou browsers) e as capacidades de rede (cenários de largura de banda alta, móvel ou de largura de banda baixa). Neste caso, os clientes podem manipular a transmissão em fluxo dos seus conteúdos através da cadeia de consulta (ao especificar filtros de Recursos disponíveis ou Filtros de conta) e utilizar filtros para transmitir secções específicas de um fluxo.

Alguns cenários de entrega exigem que se certifique de que um cliente não consegue aceder a faixas específicas. Por exemplo, talvez não queira publicar um manifesto que contenha faixas HD para um escalão de subscritor específico. Em alternativa, talvez queira remover faixas específicas de velocidade de transmissão adaptável (ABR) para reduzir o custo de entrega para um dispositivo específico que não beneficiaria das faixas adicionais. Neste caso, pode associar uma lista de filtros pré-criados ao Seu Localizador de Transmissão em Fluxo durante a criação. Em seguida, os clientes não conseguem manipular a forma como o conteúdo é transmitido porque é definido pelo Localizador de Transmissão em Fluxo.

Pode combinar a filtragem através da especificação de filtros no Localizador de Transmissão em Fluxo + filtros adicionais específicos do dispositivo especificados pelo cliente no URL. Esta combinação é útil para restringir faixas adicionais, como metadados ou fluxos de eventos, idiomas de áudio ou faixas de áudio descritivas.

Esta capacidade de especificar filtros diferentes no fluxo fornece uma poderosa solução de manipulação de Manifesto Dinâmico para direcionar vários cenários de casos de utilização para os seus dispositivos de destino. Este tópico explica conceitos relacionados com Manifestos Dinâmicos e apresenta exemplos de cenários nos quais pode utilizar esta funcionalidade.

Nota

Os Manifestos Dinâmicos não alteram o recurso e o manifesto predefinido para esse recurso.

Descrição geral dos manifestos

Os Serviços de Multimédia do Azure suportam protocolos HLS, MPEG DASH e Smooth Streaming. Como parte do Empacotamento Dinâmico, os manifestos do cliente de transmissão em fluxo (Lista de Reprodução Principal do HLS, Descrição da Apresentação de Multimédia DASH [MPD] e Transmissão em Fluxo Uniforme) são gerados dinamicamente com base no seletor de formato no URL. Para obter mais informações, veja os protocolos de entrega no Fluxo de trabalho comum a pedido.

Obter e examinar ficheiros de manifesto

Especifique uma lista de condições de propriedade de controlo de filtro com base nas faixas da sua transmissão em fluxo (VOD [VOD] em direto ou vídeo a pedido) num manifesto criado dinamicamente. Para obter e examinar as propriedades das faixas, primeiro tem de carregar o manifesto de Transmissão em Fluxo Uniforme.

Monitorizar a velocidade de transmissão de um fluxo de vídeo

Pode utilizar a página de demonstração do Leitor de Multimédia do Azure para monitorizar a velocidade de transmissão de um fluxo de vídeo. A página de demonstração apresenta informações de diagnóstico no separador Diagnóstico :

diagnósticos do leitor de multimédia do Azure

Exemplos: URLs com filtros na cadeia de consulta

Pode aplicar filtros a protocolos de transmissão em fluxo do ABR: HLS, MPEG-DASH e Transmissão em Fluxo Uniforme. 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)

Filtragem de representação

Pode optar por codificar o seu recurso para múltiplos perfis de codificação (H.264 Baseline, H.264 High, AACL, AACH, Dolby Digital Plus) e múltiplas velocidades de transmissão de qualidade. No entanto, nem todos os dispositivos cliente suportarão todos os perfis e velocidades de transmissão do recurso. Por exemplo, os dispositivos Android mais antigos suportam apenas H.264 Baseline+AACL. Enviar velocidades de transmissão mais elevadas para um dispositivo que não consegue obter os benefícios desperdiça largura de banda e computação de dispositivos. Este dispositivo tem de descodificar todas as informações fornecidas, apenas para a reduzir verticalmente para visualização.

Com o Manifesto Dinâmico, pode criar perfis de dispositivo (como dispositivos móveis, consola ou HD/SD) e incluir as faixas e qualidades que pretende que façam parte de cada perfil. Isto chama-se filtragem de representação. O diagrama seguinte mostra um exemplo do mesmo.

diagrama de filtro de representação 2

A parte superior do diagrama seguinte mostra o manifesto HLS do elemento sem filtros. (Contém todas as sete representações.) No canto inferior esquerdo, o diagrama mostra um manifesto HLS ao qual foi aplicado um filtro com o nome "ott". O filtro "ott" especifica a remoção de todas as velocidades de transmissão abaixo de 1 Mbps, pelo que os dois níveis de qualidade inferiores foram removidos na resposta. No canto inferior direito, o diagrama mostra o manifesto HLS ao qual foi aplicado um filtro com o nome "móvel". O filtro "móvel" especifica a remoção de representações em que a resolução é superior a 720p, pelo que as duas representações de 1080p foram removidas.

diagrama de filtro de representação

Remover faixas de idioma

Os seus recursos podem incluir vários idiomas de áudio, como inglês, espanhol, francês, etc. Normalmente, o SDK do Player gere a seleção predefinida da faixa de áudio e as faixas de áudio disponíveis por seleção de utilizador.

Desenvolver esses SDKs do Player é um desafio, porque requer implementações diferentes em arquiteturas de jogadores específicas do dispositivo. Além disso, em algumas plataformas, as APIs do Leitor são limitadas e não incluem a funcionalidade de seleção de áudio onde os utilizadores não podem selecionar ou alterar a faixa de áudio predefinida. Com os filtros de recursos, pode controlar o comportamento ao criar filtros que incluem apenas os idiomas de áudio pretendidos.

diagrama de filtro de idioma

Cortar o início de um recurso

Na maioria dos eventos de transmissão em fluxo em direto, os operadores executam alguns testes antes do evento real. Por exemplo, podem incluir uma folha como esta antes do início do evento: "O programa começará momentaneamente".

Se o programa estiver a arquivar, os dados de teste e ardósia também serão arquivados e incluídos na apresentação. No entanto, estas informações não devem ser apresentadas aos clientes. Com o Manifesto Dinâmico, pode criar um filtro de hora de início e remover os dados indesejados do manifesto.

cortar diagrama de filtro

Criar subclips (vistas) a partir de um arquivo dinâmico

Muitos eventos em direto são de execução prolongada e o arquivo em direto pode incluir vários eventos. Depois de o evento em direto terminar, os emissores podem querer dividir o arquivo em direto em sequências de início e paragem do programa lógico.

Pode publicar estes programas virtuais separadamente sem após processar o arquivo em direto e não criar recursos separados (o que não beneficia dos fragmentos existentes em cache nas CDNs). Exemplos desses programas virtuais são os quartos de um jogo de futebol ou basquetebol, entradas no basebol ou eventos individuais de qualquer programa desportivo.

Com o Manifesto Dinâmico, pode criar filtros com as horas de início/fim e criar vistas virtuais na parte superior do arquivo dinâmico.

diagrama de filtro de subsclips

Eis o recurso filtrado:

diagrama de filtro de esqui

Ajustar a janela de apresentação (DVR)

Atualmente, os Serviços de Multimédia do Azure oferecem arquivo circular onde a duração pode ser configurada entre 1 minuto e 25 horas. A filtragem de manifestos pode ser utilizada para criar uma janela de DVR rolante na parte superior do arquivo, sem eliminar o suporte de dados. Existem muitos cenários em que os emissores querem fornecer uma janela de DVR limitada para se moverem com a borda ao vivo e, ao mesmo tempo, manter uma janela de arquivo maior. Um emissor pode querer utilizar os dados que estão fora da janela do DVR para realçar clips ou pode querer fornecer janelas de DVR diferentes para diferentes dispositivos. Por exemplo, a maioria dos dispositivos móveis não processa janelas DVR grandes (pode ter uma janela dvr de 2 minutos para dispositivos móveis e uma hora para clientes de ambiente de trabalho).

diagrama de filtro dvr

Ajustar o LiveBackoff (posição em direto)

A filtragem de manifestos pode ser utilizada para remover vários segundos do limite dinâmico de um programa em direto. A filtragem permite que os emissores watch a apresentação no ponto de publicação de pré-visualização e criem pontos de inserção de anúncios antes de os visualizadores receberem a transmissão em fluxo (recuando 30 segundos). Os emissores podem então enviar estes anúncios para as suas estruturas de cliente a tempo de receberem e processarem as informações antes da oportunidade de anúncio.

Além do suporte de anúncios, a definição de back-off em direto pode ser utilizada para ajustar a posição dos visualizadores para que, quando os clientes se desfaçam e atinjam a periferia dinâmica, possam obter fragmentos do servidor. Desta forma, os clientes não receberão um erro HTTP 404 ou 412.

diagrama de filtro de backoff dinâmico

Combinar múltiplas regras num único filtro

Pode combinar múltiplas regras de filtragem num único filtro. Por exemplo, pode definir uma "regra de intervalo" para remover ardósias de um arquivo dinâmico e também filtrar velocidades de transmissão disponíveis. Quando está a aplicar várias regras de filtragem, o resultado final é a interseção de todas as regras.

diagrama de filtro de múltiplas regras

Combinar vários filtros (composição do filtro)

Também pode combinar vários filtros num único URL. O cenário seguinte demonstra o motivo pelo qual poderá querer combinar filtros:

  1. Tem de filtrar as suas qualidades de vídeo para dispositivos móveis, como Android ou iPad (para limitar as qualidades de vídeo). Para remover as qualidades indesejadas, irá criar um filtro de conta adequado para os perfis de dispositivo. Pode utilizar filtros de conta para todos os seus recursos na mesma conta dos Serviços de Multimédia sem qualquer associação adicional.
  2. Também quer cortar a hora de início e de fim de um recurso. Para efetuar o corte, irá criar um filtro de recursos e definir a hora de início/fim.
  3. Quer combinar ambos os filtros. Sem combinação, teria de adicionar filtragem de qualidade ao filtro de corte, o que dificultaria a utilização dos filtros.

Para combinar filtros, defina os nomes de filtro para o URL de manifesto/lista de reprodução no formato delimitado por ponto e vírgula. Vamos supor que tem um filtro com o nome MyMobileDevice que filtra qualidades e que tem outro com o nome MyStartTime para definir uma hora de início específica. Pode combinar até três filtros.

Considerações e limitações

  • Os valores de forceEndTimestamp, presentationWindowDuration e liveBackoffDuration não devem ser definidos para um filtro VOD. São utilizados apenas para cenários de filtro dinâmico.

  • Um manifesto dinâmico funciona nos limites do GOP (molduras de chaves), pelo que cortar tem precisão gop.

  • Pode utilizar o mesmo nome de filtro para filtros de conta e recursos. Os filtros de recursos têm precedência superior e irão substituir os filtros de conta.

  • Se atualizar um filtro, o ponto final de transmissão em fluxo pode demorar até 2 minutos a atualizar as regras. Se utilizou filtros para servir o conteúdo (e guardou o conteúdo em cache em proxies e caches de CDN), a atualização destes filtros pode resultar em falhas do leitor. Recomendamos que limpe a cache depois de atualizar o filtro. Se esta opção não for possível, considere utilizar um filtro diferente.

  • Os clientes têm de transferir manualmente o manifesto e analisar o carimbo de hora de início exato e a escala temporal.

    • Para determinar as propriedades das faixas num recurso, obtenha e examine o ficheiro de manifesto.
    • A fórmula para definir as propriedades do carimbo de data/hora do filtro de recursos é:
      startTimestamp = <hora de início no manifesto> + <hora de início do filtro esperada em segundos> * escala temporal

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: