Codificação de vídeo e áudio com Media Services

Logotipo dos Serviços de Mídia v3


Site da | AMS Documentação v2 dos Serviços de Comunicação | Social v2 Amostras de | código Guia de resolução de problemas

Dica

Quer gerar miniaturas, coser dois vídeos juntos, subclip um vídeo ou rodá-lo (entre outras coisas)? Pode encontrar o código de amostra dos Media Services na página Samples .

O termo codificação nos Serviços de Mídia aplica-se ao processo de conversão de ficheiros que contenham vídeo e/ou áudio digital de um formato padrão para outro, com o objetivo de (a) reduzir o tamanho dos ficheiros, e/ou (b) produzir um formato compatível com uma ampla gama de dispositivos e aplicações. Este processo também é referido como compressão de vídeo, ou transcoding. Veja a compressão de dados e o Que É Codificação e Transcoding?

Os vídeos são normalmente entregues em dispositivos e apps através de download progressivo ou através de streaming de bitrate adaptativo.

transforma e empregos

Importante

Os Serviços de Comunicação Social não cobram por cancelamentos ou empregos que lançam erros. Por exemplo, um trabalho que atingiu 50% de progresso e é cancelado não é cobrado em 50% das atas de trabalho. Só é acusado de trabalhos acabados.

  • Para entregar através de download progressivo, pode utilizar o Azure Media Services para converter um ficheiro de mídia digital (mezanino) num ficheiro MP4 , que contém vídeo que foi codificado com o codec H.264 e áudio que foi codificado com o codec AAC . Este ficheiro MP4 está escrito para um Ativo na sua conta de armazenamento. Pode utilizar as APIs ou SDKs de armazenamento Azure (por exemplo, API de Armazenamento REST ou .NET SDK) para descarregar o ficheiro diretamente. Se criou o Ativo de saída com um nome de recipiente específico no armazenamento, utilize essa localização. Caso contrário, pode utilizar os Serviços de Comunicação Social para listar os URLs do contentor de ativos.
  • Para preparar o conteúdo para a entrega através do streaming de bitrate adaptativo, o ficheiro mezanino precisa de ser codificado a vários bitrates (de alto a baixo). Para garantir uma transição graciosa de qualidade, a resolução do vídeo é reduzida à medida que o bitrate é reduzido. Isto resulta numa chamada escada codificadora - uma tabela de resoluções e bitrates (ver escada de bitrate adaptativa gerada automaticamente ou utilizar o conteúdo consciente de codificação predefinição). Pode utilizar os Serviços de Comunicação Social para codificar os seus ficheiros mezaninos em vários bitrates. Ao fazê-lo, obterá um conjunto de ficheiros MP4 e ficheiros de configuração de streaming associados escritos num Ativo na sua conta de armazenamento. Em seguida, pode utilizar a capacidade de Embalagem Dinâmica nos Serviços de Media para entregar o vídeo através de protocolos de streaming como MPEG-DASH e HLS. Isto requer que crie um Localizador de Streaming e construa URLs de streaming correspondentes aos protocolos suportados, que podem ser depois entregues a dispositivos/apps com base nas suas capacidades.

Transformações e tarefas

Para codificar com os Media Services v3, precisa de criar um Transform and a Job. A transformação define uma receita para as suas definições e saídas de codificação; o trabalho é um exemplo da receita. Para obter mais informações, veja Transforms and Jobs (Transformações e Trabalhos).

Ao codificar com os Serviços de Comunicação, utiliza predefinições para dizer ao codificadora como os ficheiros de meios de entrada devem ser processados. No Media Services v3, utiliza o Standard Encoder para codificar os seus ficheiros. Por exemplo, pode especificar a resolução de vídeo e/ou o número de canais de áudio que pretende no conteúdo codificado.

Pode começar rapidamente com uma das predefinições incorporadas com base nas melhores práticas da indústria ou pode optar por construir uma predefinição personalizada para direcionar o seu cenário específico ou os requisitos do dispositivo.

A partir de janeiro de 2019, ao codificar com o Standard Encoder para produzir ficheiros MP4, é gerado um novo ficheiro .mpi e adicionado à produção Do Ativo. Este ficheiro MPI destina-se a melhorar o desempenho para cenários dinâmicos de embalagem e streaming.

Nota

Não deve modificar ou remover o ficheiro MPI, nem assumir qualquer dependência no seu serviço sobre a existência (ou não) de tal ficheiro.

Predefinições embutidas

Os Serviços de Comunicação Social suportam as seguintes predefinições codificantes incorporadas:

Presidente do Condomínio BuiltInStandardEncoderPreset

O BuiltInStandardEncoderPreset é utilizado para definir uma predefinição incorporada para codificar o vídeo de entrada com o Standard Encoder.

As seguintes predefinições incorporadas são atualmente suportadas:

  • EncoderNamedPreset.AACGoodQualityAudio: Produz um único ficheiro MP4 contendo apenas áudio estéreo codificado a 192 kbps.

  • EncoderNamedPreset.AdaptiveStreaming: Isto suporta a codificação de bitira adaptativa H.264. Para obter mais informações, consulte uma escada de bitrate que gera automaticamente.

  • EncoderNamampreset.H265AdaptiveStreaming : Semelhante à predefinição adaptiveStreaming, mas utiliza o codec HEVC (H.265). Produz um conjunto de ficheiros MP4 alinhados com vídeo H.265 e áudio AAC estéreo. Gera automaticamente uma escada de bitrate com base na resolução de entrada, bitrate e taxa de fotogramas. A predefinição gerada automaticamente nunca excederá a resolução de entrada. Por exemplo, se a entrada for de 720p, a saída permanecerá 720p na melhor das hipóteses.

  • EncoderNamedPreset.ContentAwareEncoding: Expõe uma predefinição para codificação consciente do conteúdo H.264. Produz um conjunto de MP4s alinhados com GOP utilizando codificação consciente do conteúdo. 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. 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, mas com uma qualidade que ainda oferece uma boa experiência aos espectadores. A saída conterá ficheiros MP4 com vídeo e áudio intercalados. Esta predefinição produz apenas uma saída até 1080P HD. Se for necessária uma saída 4K, pode configurar a predefinição com pré-setConfigurations utilizando a propriedade "maxHeight". Para mais informações, consulte a codificação consciente do conteúdo.

  • EncoderNamedPreset.H265ContentAwareEncoding: Expõe uma predefinição para codificação consciente do conteúdo HEVC (H.265). Produz um conjunto de MP4s alinhados com GOP utilizando codificação consciente do conteúdo. 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. 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, mas com uma qualidade que ainda oferece uma boa experiência aos espectadores. A saída conterá ficheiros MP4 com vídeo e áudio intercalados. Esta predefinição produz uma saída até 4K HD. Se for necessária uma saída de 8K, pode configurar a predefinição com configurações pré-2018 utilizando a propriedade "maxHeight".

  • EncoderNamedPreset.H264MultipleBitrate1080p: produz um conjunto de oito ficheiros MP4 alinhados com GOP, que variam de 6000 kbps a 400 kbps, e áudio AAC estéreo. A resolução começa às 1080p e desce para 360p.

  • EncoderNamedPreset.H264MultipleBitrate720p: produz um conjunto de seis ficheiros MP4 alinhados com GOP, que variam de 3400 kbps a 400 kbps, e áudio Estéreo AAC. A resolução começa em 720p e desce para 360p.

  • EncoderNamedPreset.H264MultipleBitrateSD: produz um conjunto de cinco ficheiros MP4 alinhados com GOP, que variam de 1600 kbps a 400 kbps, e áudio AAC estéreo. A resolução começa em 480p e desce para 360p.

  • EncoderNamedPreset.H264SingleBitrate1080p: produz um ficheiro MP4 onde o vídeo é codificado com código H.264 a 6750 kbps e uma altura de imagem de 1080 pixels, e o áudio estéreo é codificado com código AAC-LC a 128 kbps. Se desejar bitrates mais baixos para áudio, pode construir uma predefinição de codificação personalizada na sua transformação e ajustar a taxa de amostragem ou contagem de canais para descer para valores mais baixos para AAC-LC.

  • EncoderNamedPreset.H264SingleBitrate720p: produz um ficheiro MP4 onde o vídeo é codificado com código H.264 a 4500 kbps e uma altura de imagem de 720 pixels, e o áudio estéreo é codificado com código AAC-LC a 128 kbps. Se desejar bitrates mais baixos para áudio, pode construir uma predefinição de codificação personalizada na sua transformação e ajustar a taxa de amostragem ou contagem de canais para descer para valores mais baixos para AAC-LC.

  • EncoderNamedPreset.H264SingleBitrateSD: produz um ficheiro MP4 onde o vídeo é codificado com código H.264 a 2200 kbps e uma altura de imagem de 480 pixels, e o áudio estéreo é codificado com código AAC-LCc a 128 kbps. Se desejar bitrates mais baixos para áudio, pode construir uma predefinição de codificação personalizada na sua transformação e ajustar a taxa de amostragem ou contagem de canais para descer para valores mais baixos para AAC-LC.

  • EncoderNamedPreset.H265SingleBitrate720P: produz um ficheiro MP4 onde o vídeo é codificado com código HEVC (H.265) a 1800 kbps e uma altura de imagem de 720 pixels, e o áudio estéreo é codificado com código AAC-LC a 128 kbps.

  • EncoderNamedPreset.H265SingleBitrate1080p: produz um ficheiro MP4 onde o vídeo é codificado com código HEVC (H.265) a 3500 kbps e uma altura de imagem de 1080 pixels, e o áudio estéreo é codificado com código AAC-LCC a 128 kbps.

  • EncoderNamedPreset.H265SingleBitrate4K: produz um ficheiro MP4 onde o vídeo é codificado com código HEVC (H.265) a 9500 kbps e uma altura de imagem de 2160 pixels, e o áudio estéreo é codificado com codec AAC-LC a 128 kbps.

Para ver a lista de predefinições mais atualizadas, consulte predefinições incorporadas para serem usadas para codificar vídeos.

StandardEncoderPreset

O StandardEncoderPreset descreve as definições a utilizar ao codificar o vídeo de entrada com o Codificador Standard. Utilize esta predefinição ao personalizar as predefinições transforme.

Considerações

Ao criar predefinições personalizadas, aplicam-se as seguintes considerações:

  • Todos os valores para altura e largura no conteúdo de AVC devem ser múltiplos de quatro.
  • No Azure Media Services v3, todos os bitrates codificadores estão em bits por segundo. Isto é diferente das predefinições com as nossas APIs v2, que usavam quilobits/segundo como unidade. Por exemplo, se o bitrate em v2 fosse especificado como 128 (quilobits/segundo), em v3 seria definido para 128000 (bits/segundo).

Personalizar predefinições

Os Serviços de Comunicação Social suportam totalmente a personalização de todos os valores em predefinições para satisfazer as suas necessidades e requisitos específicos de codificação.

Esquema predefinido

Nos Serviços de Comunicação social v3, as predefinições são entidades fortemente dactilografada na própria API. Pode encontrar a definição de "esquema" para estes objetos em Especificação API Aberta (ou Swagger). Também pode ver as definições predefinidas (como StandardEncoderPreset) na API REST, .NET SDK (ou outros Serviços de Mídia v3 SDK documentação de referência).

Codificação de escala em v3

Para contas criadas com a versão 2020-05-01 ou posterior da API ou através das unidades portal do Azure, o escalonamento e os meios de comunicação reservados deixaram de ser necessários. O dimensionamento será automático e manuseado pelo serviço internamente.

Faturação

Os Serviços de Comunicação Social não cobram por trabalhos cancelados ou erros. Por exemplo, um trabalho que atingiu 50% de progresso e é cancelado não é cobrado em 50% das atas de trabalho. Só é acusado de trabalhos acabados.

Para mais informações, consulte os preços.

Amostras codificadoras

Consulte a extensa lista de amostras de codificação para codificação.