Codificar vídeo e áudio com os Serviços de Mídia
Aviso
Os Serviços de Mídia do Azure serão desativados em 30 de junho de 2024. Para obter mais informações, consulte o Guia de desativação do AMS.
Dica
Quer gerar miniaturas, costurar dois vídeos, gerar clipes de um vídeo ou girá-lo (entre outras coisas)? Você pode encontrar código de exemplo dos Serviços de Mídia na página de Exemplos.
O termo codificação nos Serviços de Mídia se aplica ao processo de conversão de arquivos que contêm vídeo digital e/ou áudio de um formato padrão para outro, com a finalidade de (a) reduzir o tamanho dos arquivos e/ou (b) produzir um formato compatível com uma ampla variedade de dispositivos e aplicativos. Esse processo também é conhecido como compactação de vídeo ou transcodificação. Consulte Compactação de dados e O que é codificação e transcodificação? para obter mais informações sobre os conceitos.
Os vídeos normalmente são entregues a dispositivos e aplicativos por download progressivo ou por meio de streaming de taxa de bits adaptável.
Importante
Os Serviços de Mídia não cobram por trabalhos cancelados ou que geram erros. Por exemplo, um trabalho que atingiu 50% de progresso e é cancelado não é cobrado em 50% dos minutos de trabalho. Somente os trabalhos finalizados são cobrados.
- Para entregar por download progressivo, você pode usar os Serviços de Mídia do Azure para converter um arquivo de mídia digital (mezzanine) em um arquivo MP4, que contém vídeo que foi codificado com o codec H.264 e áudio que foi codificado com o codec AAC. Esse arquivo MP4 é gravado em um ativo em sua conta de armazenamento. Você pode usar as APIs de Armazenamento do Azure ou SDKs (por exemplo, API REST do Armazenamento ou SDK do .NET) para baixar o arquivo diretamente. Se você criou o ativo de saída com um nome de contêiner específico no armazenamento, use esse local. Caso contrário, você poderá usar os Serviços de Mídia para listar as URLs de contêiner do ativo.
- A fim de preparar o conteúdo para entrega por streaming de taxa de bits adaptável, o arquivo mezzanine precisa ser codificado em várias taxas de bits (de alta a baixa). Para garantir a transição normal da qualidade, a resolução do vídeo é reduzida à medida que a taxa de bits é reduzida. Isso resulta em uma escada de codificação, ou seja, uma tabela de resoluções e taxas de bits (confira a escada de taxa de bits adaptável gerada automaticamente ou use a predefinição de codificação com reconhecimento de conteúdo). Você pode usar os Serviços de Mídia para codificar seus arquivos mezzanine em várias taxas de bits. Ao fazer isso, você obterá um conjunto de arquivos MP4 e arquivos de configuração de streaming associados gravados em um ativo em sua conta de armazenamento. Em seguida, você poderá usar a funcionalidade de Empacotamento Dinâmico nos Serviços de Mídia para entregar o vídeo por meio de protocolos de streaming como MPEG-DASH e HLS. Isso exige que você crie um Localizador de Streaming e crie URLs de streaming correspondentes aos protocolos com suporte, que podem ser entregues a dispositivos/aplicativos com base nos recursos deles.
Transformações e trabalhos
Para codificar com os Serviços de Mídia v3 é necessário criar uma Transformação e um Trabalho. A transformação define uma receita para as saídas e as configurações de codificação. O trabalho é uma instância da receita. Para obter mais informações, consulte Transformações e Trabalhos.
Ao codificar com o Serviços de Mídia do Microsoft Azure, você usa predefinições para informar ao codificador como os arquivos de mídia de entrada devem ser processados. No Serviços de Mídia v3, você usa o Codificador Padrão para codificar seus arquivos. Por exemplo, é possível especificar a resolução de vídeo e/ou o número de canais de áudio que desejar no conteúdo codificado.
Você pode iniciar de forma rápida com uma das predefinições internas com base nas melhores práticas do setor; ou pode optar por criar uma predefinição personalizada para segmentar os requisitos de dispositivo ou cenário específico.
A partir de janeiro de 2019, ao codificar com o Codificador Padrão para produzir arquivos MP4, um novo arquivo .mpi será gerado e adicionado à saída de ativo. Esse arquivo MPI destina-se a melhorar o desempenho dos cenários de empacotamento e streaming dinâmicos.
Observação
Você não deve modificar nem remover o arquivo MPI nem usar qualquer dependência em seu serviço na existência (ou não) desse arquivo.
Predefinições internas
Os Serviços de Mídia dão suporte às seguintes predefinições de codificação internas:
BuiltInStandardEncoderPreset
O BuiltInStandardEncoderPreset é usado para definir uma predefinição interna para codificar o vídeo de entrada com o Codificador Standard.
As seguintes predefinições têm suporte no momento:
EncoderNamedPreset.AACGoodQualityAudio: produz um único arquivo MP4 contendo apenas áudio estéreo codificado a 192 kbps.
EncoderNamedPreset.AdaptiveStreaming: dá suporte à codificação de taxa de bits adaptável H.264. Para obter mais informações, consulte geração automática de uma escada de taxa de bits .
EncoderNamedPreset.H265AdaptiveStreaming: semelhante à predefinição AdaptiveStreaming, mas usa o codec HEVC (H.265). Produz um conjunto de arquivos MP4 alinhados a GOP com o vídeo H.265 e áudio AAC estéreo. Gera automaticamente uma escada de taxa de bits com base na resolução de entrada, taxa de bits e taxa de quadros. A predefinição gerada automaticamente nunca excederá a resolução de entrada. Por exemplo, se a entrada for 720p, a saída permanecerá 720p na melhor das hipóteses.
EncoderNamedPreset.ContentAwareEncoding: expõe uma predefinição para a codificação H.264 com reconhecimento de conteúdo. Produz um conjunto de MP4s alinhados a GOP usando a codificação com reconhecimento de conteúdo. Dado qualquer conteúdo de entrada, o serviço executa uma análise inicial leve desse conteúdo e usa os resultados para determinar o número ideal de camadas, a taxa de bits apropriada e as configurações de resolução para entrega por streaming adaptável. Essa predefinição é particularmente eficaz para vídeos de baixa complexidade e de complexidade média, em que os arquivos de saída terão taxas de bits menores, mas com uma qualidade que ainda oferecerá uma boa experiência aos espectadores. A saída conterá arquivos MP4 com vídeo e áudio intercalados. Essa predefinição só produz saída de até 1080P HD. Se for necessária a saída 4K, você poderá configurar a predefinição com PresetConfigurations usando a propriedade "maxHeight". Para obter mais informações, consulte codificação com reconhecimento de conteúdo.
EncoderNamedPreset.H265ContentAwareEncoding: expõe uma predefinição para codificação H.265 (HEVC) com reconhecimento de conteúdo. Produz um conjunto de MP4s alinhados a GOP usando a codificação com reconhecimento de conteúdo. Dado qualquer conteúdo de entrada, o serviço executa uma análise inicial leve desse conteúdo e usa os resultados para determinar o número ideal de camadas, a taxa de bits apropriada e as configurações de resolução para entrega por streaming adaptável. Essa predefinição é particularmente eficaz para vídeos de baixa complexidade e de complexidade média, em que os arquivos de saída terão taxas de bits menores, mas com uma qualidade que ainda oferecerá uma boa experiência aos espectadores. A saída conterá arquivos MP4 com vídeo e áudio intercalados. Essa predefinição produz saída de até 4K HD. Se for necessária a saída 8K, você poderá configurar a predefinição com PresetConfigurations usando a propriedade "maxHeight".
EncoderNamedPreset.H264MultipleBitrate1080p: produz um conjunto de oito arquivos MP4 alinhados a GOP, variando de 6.000 kbps a 400 kbps e áudio AAC estéreo. A resolução inicia em 1080p e diminui para 360p.
EncoderNamedPreset.H264MultipleBitrate720p: produz um conjunto de seis arquivos MP4 alinhados a GOP, variando de 3.400 kbps a 400 kbps e áudio AAC estéreo. A resolução inicia em 720p e diminui para 360p.
EncoderNamedPreset.H264MultipleBitrateSD: produz um conjunto de cinco arquivos MP4 alinhados a GOP, variando de 1.600 kbps a 400 kbps e áudio AAC estéreo. A resolução inicia em 480p e diminui para 360p.
EncoderNamedPreset.H264SingleBitrate1080p: produz um arquivo MP4 no qual o vídeo é codificado com um codec H.264 a 6750 kbps e com uma altura de imagem de 1080 pixels e o áudio estéreo é codificado com o codec AAC-LC a 128 Kbps. Se desejar taxas de bits mais baixas para o áudio, você poderá criar uma predefinição de codificação personalizada na transformação e ajustar a taxa de amostragem ou a contagem de canais para obter valores mais baixos para a AAC-LC.
EncoderNamedPreset.H264SingleBitrate720p: produz um arquivo MP4 no qual o vídeo é codificado com um codec H.264 a 4500 kbps e com uma altura de imagem de 720 pixels e o áudio estéreo é codificado com o codec AAC-LC a 128 Kbps. Se desejar taxas de bits mais baixas para o áudio, você poderá criar uma predefinição de codificação personalizada na transformação e ajustar a taxa de amostragem ou a contagem de canais para obter valores mais baixos para a AAC-LC.
EncoderNamedPreset.H264SingleBitrateSD: produz um arquivo MP4 no qual o vídeo é codificado com um codec H.264 a 2200 kbps e com uma altura de imagem de 480 pixels e o áudio estéreo é codificado com o codec AAC-LC a 128 Kbps. Se desejar taxas de bits mais baixas para o áudio, você poderá criar uma predefinição de codificação personalizada na transformação e ajustar a taxa de amostragem ou a contagem de canais para obter valores mais baixos para a AAC-LC.
EncoderNamedPreset.H265SingleBitrate720P: produz um arquivo MP4 no qual o vídeo é codificado com um codec HEVC (H.265) a 1.800 kbps e a uma altura de imagem de 720 pixels e o áudio estéreo é codificado com o codec AAC-LC a 128 Kbps.
EncoderNamedPreset.H265SingleBitrate1080p: produz um arquivo MP4 no qual o vídeo é codificado com um codec HEVC (H.265) a 3.500 kbps e a uma altura de imagem de 1.080 pixels e o áudio estéreo é codificado com o codec AAC-LC a 128 Kbps.
EncoderNamedPreset.H265SingleBitrate4K: produz um arquivo MP4 no qual o vídeo é codificado com um codec HEVC (H.265) a 9.500 kbps e a uma altura de imagem de 2.160 pixels e o áudio estéreo é codificado com o codec AAC-LC a 128 Kbps.
Para ver a lista de predefinições mais atualizada, confira predefinições internas a serem usadas para codificar vídeos.
Predefinições personalizadas
Os Serviços de Mídia oferece suporte completo para a personalização de todos os valores em predefinições, a fim de atender às suas necessidades e requisitos de codificação.
StandardEncoderPreset
O StandardEncoderPreset descreve as configurações a serem usadas ao codificar o vídeo de entrada com o Codificador Standard. Use essa predefinição ao personalizar as predefinições de Transformação.
Considerações
Ao criar predefinições personalizadas, aplicam-se as seguintes considerações:
- Todos os valores para altura e largura em conteúdo AVC devem ser um múltiplo de quatro.
- Nos Serviços de Mídia do Azure v3, todas as taxas de bits de codificação estão em bits por segundo. Isso é diferente das predefinições com nossas APIs v2, que usavam quilobits/segundo como a unidade. Por exemplo, se a taxa de bits em v2 tivesse sido especificada como 128 (quilobits/segundo), em v3, ela seria definida como 128.000 (bits/segundo).
Predefinir esquema
Nos Serviços de Mídia v3, as predefinições são entidades fortemente tipadas na própria API. Você pode encontrar a definição do "esquema" para esses objetos em Especificação de Open API (ou Swagger). Você também pode exibir as definições predefinidas (como StandardEncoderPreset) na API REST, no SDK do .NET (ou em outra documentação de referência do SDK dos Serviços de Mídia v3).
Codificação de escala na v3
Para contas criadas com a versão de 01/05/2020 ou posterior da API ou por meio do portal do Azure, a escala e as unidades reservadas para mídia não são mais necessárias. A escala será automática e manipulada pelo serviço internamente.
Cobrança
Os Serviços de Mídia não cobram por trabalhos cancelados ou com erro. Por exemplo, um trabalho que atingiu 50% de progresso e é cancelado não é cobrado em 50% dos minutos de trabalho. Somente os trabalhos finalizados são cobrados.
Para saber mais, confira os preços.
Exemplos de codificação
Confira a extensa lista de Exemplos de Codificação.
Obter ajuda e suporte
Você pode entrar em contato com os Serviços de Mídia com perguntas ou seguir nossas atualizações por um dos seguintes métodos:
- P & R
-
Stack Overflow. Marque perguntas com
azure-media-services
. - @MSFTAzureMedia ou use @AzureSupport para solicitar suporte.
- Abra um tíquete de suporte por meio do portal do Azure.