Codificação de vídeo e áudio com Serviços de MediaEncoding video and audio with Media Services

O termo codificação nos Serviços de Media 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.The term encoding in Media Services applies to the process of converting files containing digital video and/or audio from one standard format to another, with the purpose of (a) reducing the size of the files, and/or (b) producing a format that's compatible with a broad range of devices and apps. Este processo também é referido como compressão de vídeo, ou transcoding.This process is also referred to as video compression, or transcoding. Veja a compressão de dados e o Que É Codificação e Transcoding?See the Data compression and the What Is Encoding and Transcoding? for further discussion of the concepts.

Os vídeos são normalmente entregues em dispositivos e apps através de download progressivo ou através do streaming de bitrate adaptativo.Videos are typically delivered to devices and apps by progressive download or through adaptive bitrate streaming.

Importante

Os Serviços de Comunicação Social não cobram por empregos cancelados ou erros.Media Services does not bill for canceled or errored jobs. Por exemplo, um trabalho que tenha atingido 50% de progresso e seja cancelado não é cobrado em 50% das atas de trabalho.For example, a job that has reached 50% progress and is canceled is not billed at 50% of the job minutes. Só é cobrado por trabalhos acabados.You are only charged for finished jobs.

  • 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.To deliver by progressive download, you can use Azure Media Services to convert a digital media file (mezzanine) into an MP4 file, which contains video that's been encoded with the H.264 codec, and audio that's been encoded with the AAC codec. Este ficheiro MP4 está escrito para um Ativo na sua conta de armazenamento.This MP4 file is written to an Asset in your storage account. Pode utilizar as APIs ou SDKs de armazenamento Azure (por exemplo, API de Armazenamento OU .NET SDK)para descarregar o ficheiro diretamente.You can use the Azure Storage APIs or SDKs (for example, Storage REST API or .NET SDK) to download the file directly. Se criou o Ativo de saída com um nome de recipiente específico armazenado, utilize essa localização.If you created the output Asset with a specific container name in storage, use that location. Caso contrário, pode utilizar os Serviços de Comunicação Social para listar os URLs do contentor de ativos.Otherwise, you can use Media Services to list the asset container URLs.
  • 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).To prepare content for delivery by adaptive bitrate streaming, the mezzanine file needs to be encoded at multiple bitrates (high to low). Para garantir uma transição graciosa de qualidade, a resolução do vídeo é reduzida à medida que o bitrate é reduzido.To ensure graceful transition of quality, the resolution of the video is lowered as the bitrate is lowered. Isto resulta numa chamada escada codificadora - uma tabela de resoluções e bitrates (ver escada de bitrate adaptativa gerada automaticamente).This results in a so-called encoding ladder–a table of resolutions and bitrates (see auto-generated adaptive bitrate ladder). Pode utilizar os Serviços de Comunicação Social para codificar os seus ficheiros mezaninos em vários bitrates.You can use Media Services to encode your mezzanine files at multiple 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.In doing so, you'll get a set of MP4 files and associated streaming configuration files written to an Asset in your storage account. 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.You can then use the Dynamic Packaging capability in Media Services to deliver the video via streaming protocols like MPEG-DASH and 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.This requires you to create a Streaming Locator and build streaming URLs corresponding to the supported protocols, which can then be handed off to devices/apps based on their capabilities.

O diagrama seguinte mostra o fluxo de trabalho para codificação a pedido com embalagem dinâmica.The following diagram shows the workflow for on-demand encoding with dynamic packaging.

Fluxo de trabalho para codificação a pedido com embalagem dinâmica

Este tópico dá-lhe orientação sobre como codificar o seu conteúdo com o Media Services v3.This topic gives you guidance on how to encode your content with Media Services v3.

Transformações e tarefasTransforms and jobs

Para codificar com os Media Services v3, é necessário criar uma Transformação e um Trabalho.To encode with Media Services v3, you need to create a Transform and a Job. A transformação define uma receita para as suas definições e saídas codificantes; o trabalho é um exemplo da receita.The transform defines a recipe for your encoding settings and outputs; the job is an instance of the recipe. Para obter mais informações, veja Transforms and Jobs (Transformações e Trabalhos).For more information, see Transforms and Jobs.

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.When encoding with Media Services, you use presets to tell the encoder how the input media files should be processed. Nos Serviços de Comunicação Social v3, utiliza o Standard Encoder para codificar os seus ficheiros.In Media Services v3, you use Standard Encoder to encode your files. Por exemplo, pode especificar a resolução de vídeo e/ou o número de canais de áudio que deseja no conteúdo codificado.For example, you can specify the video resolution and/or the number of audio channels you want in the encoded content.

Pode começar rapidamente com uma das predefinições recomendadas 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.You can get started quickly with one of the recommended built-in presets based on industry best practices or you can choose to build a custom preset to target your specific scenario or device requirements. Para obter mais informações, consulte Codificar com uma transformação personalizada.For more information, see Encode with a custom Transform.

A partir de janeiro de 2019, quando codificado com o Standard Encoder para produzir ficheiros MP4, é gerado um novo ficheiro .mpi e adicionado à produção Ativo.Starting with January 2019, when encoding with the Standard Encoder to produce MP4 file(s), a new .mpi file is generated and added to the output Asset. Este ficheiro MPI destina-se a melhorar o desempenho para cenários dinâmicos de embalagem e streaming.This MPI file is intended to improve performance for dynamic packaging and streaming scenarios.

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.You shouldn't modify or remove the MPI file, or take any dependency in your service on the existence (or not) of such a file.

Criação de entrada de emprego a partir de um URL HTTPSCreating job input from an HTTPS URL

Quando submete Jobs para processar os seus vídeos, tem de dizer aos Media Services onde encontrar o vídeo de entrada.When you submit Jobs to process your videos, you have to tell Media Services where to find the input video. Uma das opções é especificar um URL HTTPS como uma entrada de trabalho.One of the options is to specify an HTTPS URL as a job input. Atualmente, a Media Services v3 não suporta a codificação de transferências em fatias sobre URLs HTTPS.Currently, Media Services v3 doesn't support chunked transfer encoding over HTTPS URLs.

ExemplosExamples

Criando entrada de emprego a partir de um arquivo localCreating job input from a local file

O vídeo de entrada pode ser armazenado como Um Ativo de Serviço de Mídia, caso em que cria um ativo de entrada baseado num ficheiro (armazenado localmente ou no armazenamento Azure Blob).The input video can be stored as a Media Service Asset, in which case you create an input asset based on a file (stored locally or in Azure Blob storage).

ExemplosExamples

Codificar um ficheiro local utilizando predefinições incorporadasEncode a local file using built-in presets

Criação de entrada de emprego com subclippingCreating job input with subclipping

Ao codificar um vídeo, pode especificar também para aparar ou cortar o ficheiro de origem e produzir uma saída que tenha apenas uma parte desejada do vídeo de entrada.When encoding a video, you can specify to also trim or clip the source file and produce an output that has only a desired portion of the input video. Esta funcionalidade funciona com qualquer Transform que seja construído utilizando as predefinições Predefinidas BuiltInStandardEncoderPreset ou as predefinições StandardEncoderPreset.This functionality works with any Transform that's built using either the BuiltInStandardEncoderPreset presets, or the StandardEncoderPreset presets.

Pode especificar para criar um com um único clip de um vídeo a pedido ou um arquivo ao vivo (um evento gravado).You can specify to create a Job with a single clip of a video on-demand or live archive (a recorded event). A entrada de trabalho pode ser um Ativo ou um URL HTTPS.The job input could be an Asset or an HTTPS URL.

Dica

Se pretender transmitir um sublip do seu vídeo sem voltar a codificar o vídeo, considere utilizar manifestos de pré-filtragem com o Dynamic Packager.If you want to stream a sublip of your video without re-encoding the video, consider using Pre-filtering manifests with Dynamic Packager.

ExemplosExamples

Ver exemplos:See examples:

Predefinições embutidasBuilt-in presets

Os Serviços de Comunicação Social suportam as seguintes predefinições codificantes incorporadas:Media Services supports the following built-in encoding presets:

Presidente do Condomínio BuiltInStandardEncoderPresetBuiltInStandardEncoderPreset

O BuiltInStandardEncoderPreset é utilizado para definir uma predefinição incorporada para codificar o vídeo de entrada com o Standard Encoder.BuiltInStandardEncoderPreset is used to set a built-in preset for encoding the input video with the Standard Encoder.

As seguintes predefinições são atualmente suportadas:The following presets are currently supported:

  • EncoderNamedPreset.AACGoodQualityAudio: produz um único ficheiro MP4 contendo apenas áudio estéreo codificado a 192 kbps.EncoderNamedPreset.AACGoodQualityAudio: produces a single MP4 file containing only stereo audio encoded at 192 kbps.

  • EncoderNamedPreset.AdaptiveStreaming (recomendado): Para obter mais informações, consulte uma escada de bitrate que gera automaticamente.EncoderNamedPreset.AdaptiveStreaming (recommended): For more information, see auto-generating a bitrate ladder.

  • EncoderNamedPreset.ContentAwareEncoding: expõe uma predefinição para codificação consciente do conteúdo.EncoderNamedPreset.ContentAwareEncoding: exposes a preset for content-aware encoding. Dado qualquer conteúdo de entrada, o serviço tenta determinar automaticamente o número ideal de camadas e definições de bitrate e resolução apropriadas para entrega através do streaming adaptativo.Given any input content, the service attempts to automatically determine the optimal number of layers, and appropriate bitrate and resolution settings for delivery by adaptive streaming. Os algoritmos subjacentes continuarão a evoluir ao longo do tempo.The underlying algorithms will continue to evolve over time. A saída conterá ficheiros MP4 com vídeo e áudio intercalados.The output will contain MP4 files with video and audio interleaved. Para obter mais informações, consulte a codificação consciente do conteúdo.For more information, see content-aware encoding.

    Nota

    Certifique-se de que utiliza o ContentAwareEncoding e não o ContentAwareEncodingExperimental.Make sure to use ContentAwareEncoding not ContentAwareEncodingExperimental.

  • EncoderNamedPreset.H264MultipleBitrate1080p: produz um conjunto de oito ficheiros MP4 alinhados com GOP, que variam de 6000 kbps a 400 kbps, e áudio Estéreo AAC.EncoderNamedPreset.H264MultipleBitrate1080p: produces a set of eight GOP-aligned MP4 files, ranging from 6000 kbps to 400 kbps, and stereo AAC audio. A resolução começa às 1080p e desce para 360p.Resolution starts at 1080p and goes down to 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.EncoderNamedPreset.H264MultipleBitrate720p: produces a set of six GOP-aligned MP4 files, ranging from 3400 kbps to 400 kbps, and stereo AAC audio. A resolução começa em 720p e desce para 360p.Resolution starts at 720p and goes down to 360p.

  • EncoderNamedPreset.H264MultipleBitrateSD: produz um conjunto de cinco ficheiros MP4 alinhados com GOP, que variam entre 1600 kbps e 400 kbps, e áudio AAC estéreo.EncoderNamedPreset.H264MultipleBitrateSD: produces a set of five GOP-aligned MP4 files, ranging from 1600 kbps to 400 kbps, and stereo AAC audio. A resolução começa a 480p e desce para 360p.Resolution starts at 480p and goes down to 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 64 kbps.EncoderNamedPreset.H264SingleBitrate1080p: produces an MP4 file where the video is encoded with H.264 codec at 6750 kbps and a picture height of 1080 pixels, and the stereo audio is encoded with AAC-LC codec at 64 kbps.

  • 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 codec AAC-LC a 64 kbps.EncoderNamedPreset.H264SingleBitrate720p: produces an MP4 file where the video is encoded with H.264 codec at 4500 kbps and a picture height of 720 pixels, and the stereo audio is encoded with AAC-LC codec at 64 kbps.

  • 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 64 kbps.EncoderNamedPreset.H264SingleBitrateSD: produces an MP4 file where the video is encoded with H.264 codec at 2200 kbps and a picture height of 480 pixels, and the stereo audio is encoded with AAC-LC codec at 64 kbps.

Para ver a lista de predefinições mais atualizadas, consulte predefinições incorporadas para serem usadas para codificar vídeos.To see the most up-to-date presets list, see built-in presets to be used for encoding videos.

Para ver como as predefinições são utilizadas, consulte upload, codificação e ficheiros de streaming.To see how the presets are used, see Uploading, encoding, and streaming files.

StandardEncoderPresetStandardEncoderPreset

O StandardEncoderPreset descreve as definições a utilizar ao codificar o vídeo de entrada com o Codificador Standard.StandardEncoderPreset describes settings to be used when encoding the input video with the Standard Encoder. Utilize esta predefinição ao personalizar as predefinições transforme.Use this preset when customizing Transform presets.

ConsideraçõesConsiderations

Ao criar predefinições personalizadas, aplicam-se as seguintes considerações:When creating custom presets, the following considerations apply:

  • Todos os valores para altura e largura no conteúdo de AVC devem ser múltiplos de quatro.All values for height and width on AVC content must be a multiple of four.
  • No Azure Media Services v3, todos os bitrates codificadores estão em bits por segundo.In Azure Media Services v3, all of the encoding bitrates are in bits per second. Isto é diferente das predefinições com as nossas APIs v2, que usavam quilobits/segundo como unidade.This is different from the presets with our v2 APIs, which used kilobits/second as the unit. Por exemplo, se o bitrate em v2 fosse especificado como 128 (quilobits/segundo), em v3 seria definido para 128000 (bits/segundo).For example, if the bitrate in v2 was specified as 128 (kilobits/second), in v3 it would be set to 128000 (bits/second).

Personalizar predefiniçõesCustomizing presets

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.Media Services fully supports customizing all values in presets to meet your specific encoding needs and requirements. Para exemplos que mostram como personalizar predefinições codificantes, consulte a lista abaixo:For examples that show how to customize encoder presets, see the list below:

ExemplosExamples

Esquema predefinidoPreset schema

Nos Serviços de Comunicação Social v3, as predefinições são entidades fortemente dactilografada na própria API.In Media Services v3, presets are strongly typed entities in the API itself. Pode encontrar a definição de "esquema" para estes objetos em Especificação API Aberta (ou Swagger).You can find the "schema" definition for these objects in Open API Specification (or 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).You can also view the preset definitions (like StandardEncoderPreset) in the REST API, .NET SDK (or other Media Services v3 SDK reference documentation).

Codificação de escalonamento em v3Scaling encoding in v3

Para escalar o processamento dos meios de comunicação, consulte Scale com CLI.To scale media processing, see Scale with CLI.

FaturaçãoBilling

Os Serviços de Comunicação Social não cobram por empregos cancelados ou erros.Media Services does not bill for canceled or errored jobs. Por exemplo, um trabalho que tenha atingido 50% de progresso e seja cancelado não é cobrado em 50% das atas de trabalho.For example, a job that has reached 50% progress and is canceled is not billed at 50% of the job minutes. Só é cobrado por trabalhos acabados.You are only charged for finished jobs.

Para obter mais informações, veja os preços.For more information, see pricing.

Faça perguntas, dê feedback, obtenha atualizaçõesAsk questions, give feedback, get updates

Consulte o artigo da comunidade Azure Media Services para ver diferentes formas de fazer perguntas, dar feedback e obter atualizações sobre os Media Services.Check out the Azure Media Services community article to see different ways you can ask questions, give feedback, and get updates about Media Services.

Passos seguintesNext steps