Partilhar via


Filtrar seus manifestos usando o Dynamic Packager

logotipo dos Serviços de Mídia v3


Advertência

Os Serviços de Mídia do Azure serão desativados em 30 de junho de 2024. Para obter mais informações, consulte o AMS Retirement Guide.

Quando você está fornecendo conteúdo de streaming de taxa de bits adaptável para dispositivos, às vezes precisa publicar várias versões de um manifesto para direcionar recursos específicos do dispositivo ou largura de banda de rede disponível. O Dynamic Packager permite especificar filtros que podem filtrar codecs, resoluções, taxas de bits e combinações de faixas de áudio específicos instantaneamente. A filtragem elimina 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 navegadores) e as capacidades de rede (cenários de alta largura de banda, móveis ou de baixa largura de banda). Nesse caso, os clientes podem manipular o streaming de seu conteúdo por meio da cadeia de caracteres de consulta (especificando filtros de ativos de disponíveis ou filtros de conta) e usar filtros para transmitir seções específicas de um fluxo.

Alguns cenários de entrega exigem que você se certifique de que um cliente não possa acessar faixas específicas. Por exemplo, talvez você não queira publicar um manifesto que contenha faixas HD para uma camada de assinante específica. Ou, talvez você queira remover faixas de taxa de bits adaptáveis (ABR) específicas para reduzir o custo de entrega para um dispositivo específico que não se beneficiaria das faixas adicionais. Nesse caso, você pode associar uma lista de filtros pré-criados ao seu Streaming Locator na criação. Os clientes, então, não podem manipular como o conteúdo é transmitido porque ele é definido pelo Streaming Locator.

Você pode combinar a filtragem especificando filtros no Streaming Locator + filtros adicionais específicos do dispositivo que seu cliente especifica na URL. Essa combinação é útil para restringir faixas adicionais, como metadados ou fluxos de eventos, idiomas de áudio ou faixas de áudio descritivas.

Essa capacidade de especificar diferentes filtros em seu fluxo fornece uma poderosa solução de manipulação de de manifesto dinâmico de para direcionar vários cenários de casos de uso para seus dispositivos de destino. Este tópico explica os conceitos relacionados ao de Manifestos Dinâmicos e fornece exemplos de cenários nos quais você pode usar esse recurso.

Observação

Os Manifestos Dinâmicos não alteram o ativo e o manifesto padrão desse ativo.

Visão geral dos manifestos

Os Serviços de Multimédia do Azure suportam os protocolos HLS, MPEG DASH e Smooth Streaming. Como parte de Dynamic Packaging, os manifestos do cliente de streaming (HLS Master Playlist, DASH Media Presentation Description [MPD] e Smooth Streaming) são gerados dinamicamente com base no seletor de formato na URL. Para obter mais informações, consulte os protocolos de entrega em fluxo de trabalho comum sob demanda.

Obter e examinar arquivos de manifesto

Você especifica uma lista de condições de propriedade de faixa de filtro com base em quais faixas do seu fluxo (ao vivo ou vídeo sob demanda [VOD]) devem ser incluídas em um manifesto criado dinamicamente. Para obter e examinar as propriedades das faixas, você precisa carregar o manifesto Smooth Streaming primeiro.

Monitorar a taxa de bits de um fluxo de vídeo

Você pode usar a página de demonstração do Azure Media Player para monitorar a taxa de bits de um fluxo de vídeo. A página de demonstração exibe informações de diagnóstico na guia Diagnóstico.

Exemplos: URLs com filtros na cadeia de caracteres de consulta

Você pode aplicar filtros aos protocolos de streaming ABR: HLS, MPEG-DASH e Smooth Streaming. A tabela a seguir 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 TRAÇO https://amsv3account-usw22.streaming.media.azure.net/fecebb23-46f6-490d-8b70-203e86b0df58/bigbuckbunny.ism/manifest(format=mpd-time-csf,filter=myAssetFilter)
Streaming suave https://amsv3account-usw22.streaming.media.azure.net/fecebb23-46f6-490d-8b70-203e86b0df58/bigbuckbunny.ism/manifest(filter=myAssetFilter)

Filtragem de representação

Você pode optar por codificar seu ativo para vários perfis de codificação (H.264 Baseline, H.264 High, AACL, AACH, Dolby Digital Plus) e várias taxas de bits de qualidade. No entanto, nem todos os dispositivos clientes suportarão todos os perfis e taxas de bits do seu ativo. Por exemplo, dispositivos Android mais antigos suportam apenas H.264 Baseline+AACL. Enviar taxas de bits mais altas para um dispositivo que não pode obter os benefícios desperdiça largura de banda e computação do dispositivo. Tal dispositivo deve decodificar todas as informações fornecidas, apenas para reduzi-las para exibição.

Com o Manifesto Dinâmico, você pode criar perfis de dispositivo (como celular, console ou HD/SD) e incluir as faixas e qualidades que deseja fazer parte de cada perfil. Isso é chamado de filtragem de representação. O diagrama a seguir mostra um exemplo disso.

diagrama do filtro de representação 2

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

diagrama de filtro de representação

Remoção de faixas de idioma

Seus ativos podem incluir vários idiomas de áudio, como inglês, espanhol, francês e assim por diante. Normalmente, o SDK do Player gerencia a seleção de faixas de áudio padrão e as faixas de áudio disponíveis por seleção de usuário.

O desenvolvimento desses SDKs do Player é um desafio porque requer implementações diferentes em estruturas de jogadores específicas do dispositivo. Além disso, em algumas plataformas, as APIs do Player são limitadas e não incluem o recurso de seleção de áudio, onde os usuários não podem selecionar ou alterar a faixa de áudio padrão. Com filtros de ativos, você pode controlar o comportamento criando filtros que incluem apenas os idiomas de áudio desejados.

diagrama de filtro de idioma

Aparar o início de um ativo

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

Se o programa estiver arquivando, os dados de teste e ardósia também serão arquivados e incluídos na apresentação. No entanto, esta informação não deve ser mostrada aos clientes. Com o Manifesto Dinâmico, você pode criar um filtro de hora de início e remover os dados indesejados do manifesto.

diagrama de filtro de corte

Criando subclipes (visualizações) a partir de um arquivo ao vivo

Muitos eventos ao vivo são de longa duração e o arquivo ao vivo pode incluir vários eventos. Depois que o evento ao vivo terminar, as emissoras podem querer dividir o arquivo ao vivo em sequências lógicas de início e interrupção do programa.

Você pode publicar esses programas virtuais separadamente sem pós-processar o arquivo ao vivo e não criar ativos separados (o que não obtém o benefício dos fragmentos armazenados em cache existentes nas CDNs). Exemplos de tais programas virtuais são os quartos de um jogo de futebol ou basquete, entradas no beisebol ou eventos individuais de qualquer programa esportivo.

Com o Manifesto Dinâmico, você pode criar filtros usando horários de início/término e criar visualizações virtuais na parte superior do seu arquivo ao vivo.

diagrama de filtro de subsclips

Aqui está o ativo filtrado:

diagrama de filtro de esqui

Ajustando a janela de apresentação (DVR)

Atualmente, os Serviços de Multimédia do Azure oferecem arquivo circular em que a duração pode ser configurada entre 1 minuto e 25 horas. Filtragem de manifesto pode ser usado para criar uma janela DVR rolante sobre o topo do arquivo, sem excluir mídia. Há muitos cenários onde as emissoras querem fornecer uma janela DVR limitada para mover com a borda ao vivo e, ao mesmo tempo, manter uma janela de arquivamento maior. Uma emissora pode querer usar os dados que estão fora da janela DVR para destacar clipes, ou eles podem querer fornecer diferentes janelas DVR para diferentes dispositivos. Por exemplo, a maioria dos dispositivos móveis não lidar com grandes janelas DVR (você pode ter uma janela DVR de 2 minutos para dispositivos móveis e uma hora para clientes desktop).

Diagrama de filtro DVR

Ajustando o LiveBackoff (posição ativa)

A filtragem de manifesto pode ser usada para remover vários segundos da borda ao vivo de um programa ao vivo. A filtragem permite que as emissoras assistam à apresentação no ponto de publicação de visualização e criem pontos de inserção de anúncios antes que os espectadores recebam o fluxo (recuado por 30 segundos). As empresas de radiodifusão podem então enviar estes anúncios para os seus clientes a tempo de receberem e processarem a informação antes da oportunidade de anúncio.

Além do suporte de publicidade, a configuração de back-off ao vivo pode ser usada para ajustar a posição dos espectadores para que, quando os clientes se desviarem e atingirem a borda ao vivo, eles ainda possam obter fragmentos do servidor. Dessa forma, os clientes não receberão um erro HTTP 404 ou 412.

diagrama de filtro de backoff em tempo real

Combinando várias regras em um único filtro

Você pode combinar várias regras de filtragem em um único filtro. Por exemplo, você pode definir uma "regra de intervalo" para remover ardósias de um arquivo ao vivo e também filtrar as taxas de bits disponíveis. Quando você está aplicando várias regras de filtragem, o resultado final é a interseção de todas as regras.

diagrama de filtro de várias regras

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

Você também pode combinar vários filtros em um único URL. O cenário a seguir demonstra por que você pode querer combinar filtros:

  1. Você precisa filtrar 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, você criará um filtro de conta adequado para os perfis do dispositivo. Você pode usar filtros de conta para todos os seus ativos na mesma conta de Serviços de Mídia sem qualquer associação adicional.
  2. Você também deseja cortar a hora de início e de término de um ativo. Para fazer o corte, você criará um filtro de ativos e definirá a hora de início/término.
  3. Você deseja combinar esses dois filtros. Sem combinação, você precisaria adicionar filtragem de qualidade ao filtro de corte, o que dificultaria o uso do filtro.

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

Considerações e limitações

  • Os valores para forceEndTimestamp , presentationWindowDuratione liveBackoffDuration não devem ser definidos para um filtro VOD. Eles são usados apenas para cenários de filtro em tempo real.

  • Um manifesto dinâmico opera em limites GOP (quadros-chave), portanto, o corte tem precisão GOP.

  • Você pode usar o mesmo nome de filtro para filtros de conta e ativos. Os filtros de ativos têm maior precedência e substituirão os filtros de conta.

  • Se você atualizar um filtro, pode levar até 2 minutos para que o ponto de extremidade de streaming atualize as regras. Se você usou filtros para veicular o conteúdo (e armazenou o conteúdo em cache em proxies e caches CDN), a atualização desses filtros pode resultar em falhas no player. Recomendamos que você limpe o cache depois de atualizar o filtro. Se essa opção não for possível, considere usar um filtro diferente.

  • Os clientes precisam baixar manualmente o manifesto e analisar o carimbo de hora de início exato e a escala de tempo.

    • Para determinar as propriedades das faixas em um ativo, obter e examinar o arquivo de manifesto.
    • A fórmula para definir as propriedades de carimbo de data/hora do filtro de ativos é:
      startTimestamp = <hora de início no manifesto> + <hora de início esperada do filtro em segundos> * escala de tempo

Obtenha ajuda e suporte

Você pode entrar em contato com os Serviços de Mídia com perguntas ou acompanhar nossas atualizações por um dos seguintes métodos: