Utilize a predefinição de codificação consciente do conteúdo para encontrar o valor bitrate ideal para uma determinada resoluçãoUse the content-aware encoding preset to find the optimal bitrate value for a given resolution

logotipo de serviços de mídia v3media services logo v3


Para preparar o conteúdo para a entrega através do streaming de bitrate adaptativo,o vídeo precisa de ser codificado a várias taxas de bit (de alto a baixo).In order to prepare content for delivery by adaptive bitrate streaming, video needs to be encoded at multiple bit-rates (high to low). Isto garante uma degradação graciosa da qualidade, uma vez que o bitrate é reduzido assim como a resolução do vídeo.This ensures graceful degradation of quality, as the bitrate is lowered so is the resolution of the video. Esta codificação de bit-rate múltipla faz uso de uma chamada escada codificadora – uma tabela de resoluções e bitrates, ver as predefinições codificadoras dosMedia Services.Such multiple bit-rate encoding makes use of a so-called encoding ladder – a table of resolutions and bitrates, see the Media Services built-in encoding presets.

Deve estar ciente do conteúdo que está a processar e personalizar/afinar a escada de codificação para a complexidade do vídeo individual.You should be aware of the content you are processing, and customize/tune the encoding ladder to the complexity of the individual video. Em cada resolução, há um bitrate para além do qual qualquer aumento de qualidade não é percetivo – o codificador opera a este valor bitrate ideal.At each resolution, there is a bitrate beyond which any increase in quality is not perceptive – the encoder operates at this optimal bitrate value. O próximo nível de otimização é selecionar as resoluções com base no conteúdo – por exemplo, um vídeo de uma apresentação do PowerPoint não beneficia de ir abaixo dos 720p.The next level of optimization is to select the resolutions based on the content – for example, a video of a PowerPoint presentation does not benefit from going below 720p. Indo mais longe, o codificador pode ser incumbido de otimizar as definições para cada filmagem dentro do vídeo.Going further, the encoder can be tasked to optimize the settings for each shot within the video.

A predefinição de Streaming Adaptativo da Microsoft aborda parcialmente o problema da variabilidade na qualidade e resolução dos vídeos de origem.Microsoft's Adaptive Streaming preset partially addresses the problem of the variability in the quality and resolution of the source videos. Os nossos clientes têm uma mistura variada de conteúdo, alguns a 1080p, outros a 720p, e alguns em SD e resoluções mais baixas.Our customers have a varying mix of content, some at 1080p, others at 720p, and a few at SD and lower resolutions. Além disso, nem todos os conteúdos de origem são mezaninos de alta qualidade de estúdios de cinema ou tv.Furthermore, not all source content is high-quality mezzanines from film or TV studios. A predefinição de Streaming Adaptativo aborda estes problemas garantindo que a escada de bitrate nunca excede a resolução ou a bitrate média da mezanino de entrada.The Adaptive Streaming preset addresses these problems by ensuring that the bitrate ladder never exceeds the resolution or the average bitrate of the input mezzanine. No entanto, esta predefinição não examina propriedades de origem que não a resolução e o bitrate.However, this preset does not examine source properties other than resolution and bitrate.

A codificação consciente do conteúdoThe content-aware encoding

A predefinição de codificação consciente do conteúdo alarga o mecanismo de "streaming de bitrate adaptativo", incorporando uma lógica personalizada que permite ao codificante procurar o valor bitrate ideal para uma determinada resolução, mas sem exigir uma análise computacional extensiva.The content-aware encoding preset extends the "adaptive bitrate streaming" mechanism, by incorporating custom logic that lets the encoder seek the optimal bitrate value for a given resolution, but without requiring extensive computational analysis. Esta predefinição produz um conjunto de MP4s alinhados com GOP.This preset produces a set of GOP-aligned MP4s. Dado qualquer conteúdo de entrada, o serviço realiza uma análise leve inicial do conteúdo de entrada, e utiliza os resultados para determinar o número ideal de camadas, definições de bitrate e resolução apropriadas para entrega através do streaming adaptativo.Given any input content, the service performs an initial lightweight analysis of the input content, and uses the results to determine the optimal number of layers, appropriate bitrate and resolution settings for delivery by adaptive streaming. Esta predefinição é particularmente eficaz para vídeos de baixa e média complexidade, onde os ficheiros de saída estarão em bitrates mais baixos do que a predefinição de Streaming Adaptive, mas com uma qualidade que ainda oferece uma boa experiência aos espectadores.This preset is particularly effective for low and medium complexity videos, where the output files will be at lower bitrates than the Adaptive Streaming preset but at a quality that still delivers a good experience to viewers. A saída conterá ficheiros MP4 com vídeo e áudio intercaladosThe output will contain MP4 files with video and audio interleaved

Os gráficos de amostra que se seguem mostram a comparação utilizando métricas de qualidade como PSNR e VMAF.The following sample graphs show the comparison using quality metrics like PSNR and VMAF. A fonte foi criada através da concatenação de pequenos clips de imagens de alta complexidade de filmes e séries de TV, destinadas a realçar o codificadora.The source was created by concatenating short clips of high complexity shots from movies and TV shows, intended to stress the encoder. 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 do bitrate ou melhoria na qualidade.By definition, this preset produces results that vary from content to content – it also means that for some content, there may not be significant reduction in bitrate or improvement in quality.

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

Figura 1: Curva de distorção de taxas (RD) utilizando a métrica PSNR para fonte de alta complexidadeFigure 1: Rate-distortion (RD) curve using PSNR metric for high complexity source

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

Figura 2: Curva de distorção de taxas (RD) utilizando a métrica VMAF para fonte de alta complexidadeFigure 2: Rate-distortion (RD) curve using VMAF metric for high complexity source

Seguem-se os resultados de outra categoria de conteúdo de origem, onde o codificadores foi capaz de determinar que a entrada era de má qualidade (muitos artefactos de compressão devido ao bitrate baixo).Below are the results for another category of source content, where the encoder was able to determine that the input was of poor quality (many compression artifacts because of the low bitrate). Note-se que, com a predefinição consciente do conteúdo, o codificadora decidiu produzir apenas uma camada de saída – a uma bitrate suficientemente baixa para que a maioria dos clientes pudesse reproduzir o stream sem empatar.Note that with the content-aware preset, the encoder decided to produce just one output layer – at a low enough bitrate so that most clients would be able to play the stream without stalling.

Curva RD usando PSNR

Figura 3: Curva RD utilizando PSNR para entrada de baixa qualidade (a 1080p)Figure 3: RD curve using PSNR for low-quality input (at 1080p)

Curva RD usando VMAF

Figura 4: Curva RD utilizando VMAF para entrada de baixa qualidade (a 1080p)Figure 4: RD curve using VMAF for low-quality input (at 1080p)

Como utilizar a predefinição de codificação consciente do conteúdoHow to use the content-aware encoding preset

Pode criar transformações que utilizem esta predefinição da seguinte forma.You can create transforms that use this preset as follows.

Consulte a secção etapas seguintes para tutoriais que usam saídas de transformação.See the Next steps section for tutorials that use transform outputs. O ativo de saída pode ser entregue a partir de pontos finais de streaming dos Media Services em protocolos como MPEG-DASH e HLS (como mostrado nos tutoriais).The output asset can be delivered from Media Services streaming endpoints in protocols such as MPEG-DASH and HLS (as shown in the tutorials).

Nota

Certifique-se de que utiliza o predefinição de contentAwareEncodingExperimental.Make sure to use the ContentAwareEncoding preset not ContentAwareEncodingExperimental.

TransformOutput[] output = new TransformOutput[]
{
   new TransformOutput
   {
      // The preset for the Transform is set to one of Media Services built-in sample presets.
      // You can customize the encoding settings by changing this to use "StandardEncoderPreset" class.
      Preset = new BuiltInStandardEncoderPreset()
      {
         // This sample uses the new preset for content-aware encoding
         PresetName = EncoderNamedPreset.ContentAwareEncoding
      }
   }
};

Nota

Os trabalhos de codificação utilizando a ContentAwareEncoding predefinição estão a ser faturados com base nas atas de saída.Encoding jobs using the ContentAwareEncoding preset are being billed based on the output minutes.

Passos seguintesNext steps