Codificação com reconhecimento de conteúdo

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.

Dica

Quer gerar miniaturas, juntar dois vídeos, subclipar um vídeo ou rodá-lo (entre outras coisas)? Pode encontrar o código de exemplo dos Serviços de Multimédia na página Exemplos .

Descrição geral da predefinição de codificação com deteção de conteúdo

Para preparar o conteúdo para entrega através da transmissão em fluxo de velocidade de transmissão adaptável, o vídeo tem de ser codificado a várias taxas de bits (alta a baixa) e a várias resoluções. Esta técnica permite que os leitores de vídeo modernos de hoje em dia no Apple iOS, Android, Windows e Mac utilizem protocolos de transmissão em fluxo que transmitem conteúdos sem memória intermédia. Estas diferentes representações de tamanho de apresentação (resolução) e qualidade (velocidade de transmissão) permitem ao leitor selecionar a melhor versão do vídeo que as condições de rede atuais podem suportar. A rede pode variar bastante de LTE, 4G, 5G, Wi-Fi público ou uma rede doméstica.

O processo de codificação de conteúdos em múltiplas representações requer a geração de uma "escada de codificação" – uma tabela de resoluções e velocidades de transmissão que indica ao codificador o que deve gerar. Para obter um exemplo de tal escada, veja as predefinições de codificação incorporadas dos Serviços de Multimédia.

Em condições ideais, quer ter em atenção o tipo de conteúdo que está a codificar. Com estas informações, pode ajustar a escada de codificação para corresponder à complexidade e movimento no vídeo de origem. Isto significa que em cada tamanho de apresentação (resolução) na escada, deve haver uma velocidade de transmissão para além da qual qualquer aumento de qualidade não é perceptivo – o codificador funciona com este valor de velocidade de transmissão ideal.

O próximo nível de otimização que pode ser feito é selecionar as resoluções com base no conteúdo . Por exemplo, um vídeo de uma apresentação do PowerPoint com texto pequeno ficaria desfocado quando codificado abaixo das linhas de 720 píxeis na altura. Além disso, também pode ter um vídeo que altera o movimento e a complexidade ao longo de todo com base na forma como foi filmado e editado. Isto proporciona uma oportunidade para otimizar e ajustar as definições de codificação em cada cenário ou limite de captura. Um codificador inteligente pode ser encarregado de otimizar as definições de codificação para cada captura no vídeo.

Os Serviços de Multimédia do Azure fornecem uma predefinição de Transmissão em Fluxo Adaptável que resolve parcialmente o problema da variabilidade na velocidade de transmissão e resolução dos vídeos de origem. No entanto, esta predefinição não analisa o conteúdo de origem para ver o quão complexo é ou quanto movimento contém.

A predefinição de codificação com suporte para conteúdo melhora a codificação de "transmissão em fluxo de velocidade adaptável" mais estática, ao adicionar lógica que permite ao codificador procurar um valor de velocidade de transmissão ideal para uma determinada resolução, mas sem exigir uma análise computacional extensa. Esta predefinição produz uma "escada" exclusiva de MP4s alinhados com GOP com base no ficheiro de origem. Tendo em conta um vídeo de origem, a predefinição realiza uma análise rápida inicial do conteúdo de entrada e utiliza os resultados para determinar o número ideal de camadas, velocidade de transmissão e resoluções necessárias para proporcionar a experiência de transmissão em fluxo adaptável de qualidade mais elevada. Esta predefinição é eficaz com vídeos de complexidade baixa a média, em que os ficheiros de saída estarão em velocidades de transmissão mais baixas do que a predefinição de Transmissão em Fluxo Adaptável mais estática, mas com uma qualidade que ainda proporciona uma boa experiência ao público. A pasta de saída irá conter vários ficheiros MP4 com vídeo e áudio prontos para transmissão em fluxo.

Configurar definições de saída

Além disso, os programadores também podem controlar o intervalo de saídas que a predefinição de codificação com deteção de conteúdo utiliza ao decidir as definições ideais para codificar a escada de transmissão em fluxo de velocidade de transmissão adaptável.

Ao utilizar a classe PresetConfigurations , os programadores podem transmitir um conjunto de restrições e opções à predefinição de codificação com deteção de conteúdo para controlar os ficheiros resultantes gerados pelo codificador. As propriedades são especialmente úteis para situações em que pretende limitar toda a codificação a uma resolução máxima específica para controlar a experiência ou os custos das suas tarefas de codificação. Também é útil poder controlar as velocidades de transmissão máximas e mínimas que a sua audiência poderá suportar numa rede móvel ou numa região global com restrições de largura de banda.

Codecs suportados

A predefinição de codificação com deteção de conteúdo está disponível para utilização com os seguintes codecs:

  • H.264
  • HEVC (H.265)

Detalhes técnicos sobre a predefinição com deteção de conteúdo

Vamos agora aprofundar um pouco mais a forma como funciona a predefinição de codificação com deteção de conteúdo. Os gráficos de exemplo seguintes mostram a comparação com métricas de qualidade, como PSNR e VMAF. A fonte foi criada através da concatenação de clips curtos de imagens de alta complexidade de filmes e programas de TV, destinados a sublinhar o codificador. Por definição, esta predefinição produz resultados que variam de conteúdo para conteúdo– também significa que, para alguns conteúdos, pode não haver uma redução significativa da velocidade de transmissão ou melhoria da qualidade.

Curva de distorção de taxa (RD) com PSNR

Figura 1: curva de distorção de taxa (RD) com a métrica PSNR para a origem de elevada complexidade

Curva de distorção de taxa (RD) com o VMAF

Figura 2: curva de distorção de taxa (RD) com a métrica VMAF para uma origem de elevada complexidade

Seguem-se os resultados de outra categoria de conteúdo de origem, em que o codificador conseguiu determinar que a entrada era de má qualidade (muitos artefactos de compressão devido à baixa velocidade de transmissão). Com a predefinição com deteção de conteúdo, o codificador decidiu produzir apenas uma camada de saída , com uma velocidade de transmissão suficientemente baixa para que a maioria dos clientes pudesse reproduzir a transmissão sem parar.

Curva RD com PSNR

Figura 3: curva RD com PSNR para entrada de baixa qualidade (a 1080p)

Curva rd com VMAF

Figura 4: curva rd com VMAF para entrada de baixa qualidade (a 1080p)

Exemplos de codificação

Veja a extensa lista de Exemplos de Codificação.

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: