Visão geral da API Transcoder

Nesta página, fornecemos uma visão geral técnica da API Transcoder, incluindo recursos, terminologia e conceitos úteis. A API Transcoder implementa uma API REST e RPC que permite enviar, monitorar e gerenciar jobs de transcodificação no Google Cloud. Para enviar jobs usando a API Transcoder, primeiro é necessário fazer o upload de recursos de mídia no Cloud Storage. Após o processamento de um job, a API Transcoder salva a mídia resultante de volta no Cloud Storage.

Recursos

A API Transcoder inclui suporte para os seguintes recursos:

Para mais informações sobre os padrões MP4 e MPEG-DASH, consulte o site do grupo de especialistas de imagens em movimento. Para mais informações sobre o padrão HLS, consulte HTTP Live Streaming.

Entradas e saídas compatíveis

A tabela a seguir mostra os formatos de entrada e saída compatíveis com a API Transcoder.

Formatos de entrada e saída compatíveis
Entradas
ContêineresAVI, GXF, MKV (Matroska), MOV, MPEG2-TS, MP4, MXF (somente OP1A), WMV
Codecs de vídeoDNxHD, DV/DVCProHD, DV25, DV50, H.261, H.262, H.263, H.264 (AVC), H.265 (HEVC), MPEG-1, MPEG-2, MPEG-4 parte 2, ProRes, Theora, VC-1, VP8, VP9, XDCAM
Espaço para correc.601, rec.709, e rec.2020
Codecs de áudioAAC, AC3, AIFF, E-AC3, MP3, Opus, PCM, WAV, WMA, WMA2, Vorbis
LegendasSCC, SRT, VTT
SobreposiçõesJPG
Saídas
ContêineresHLS da Apple (com MPEG2-TS, fMP4), MPEG-DASH (com fMP4), MP4 autônomo
Codecs de vídeoH.264 (AVC), H.265 (HEVC), VP9
Espaço para corApenas com rec.601: o espaço de cores de entrada não é convertido, então é possível observar uma mudança de cor
Codecs de áudioAAC-HE, AAC-HEv2, AAC-LC, AC3, E-AC3, MP3
LegendasCEA-608/708, WebVTT
ImagensBlocos em JPG, imagens únicas

Contêineres compatíveis para criptografia de conteúdo

A tabela a seguir mostra os contêineres compatíveis com a criptografia de conteúdo.

Tipo Tecnologia Formatar Codecs de vídeo Codecs de áudio
H.264 H.265 AAC
DRM FairPlay HLS TS (SAMPLE-AES) fMP4 (SAMPLE-AES) TS (SAMPLE-AES)
fMP4 (SAMPLE-AES) fMP4 (SAMPLE-AES)
DRM Widevine, PlayReady DASH fMP4 (MPEG-CENC) fMP4 (MPEG-CENC)
DRM Widevine, PlayReady HLS fMP4 (MPEG-CENC) fMP4 (MPEG-CENC)
Proteção de conteúdo AES-128 HLS, DASH fMP4, TS (AES-128) fMP4, TS (AES-128) fMP4, TS (AES-128)

Controle de acesso

O modelo de controle de acesso da API Transcoder é baseado no Identity and Access Management do Google. As permissões detalhadas do IAM oferecem controle sobre o que pode ser feito com os dados de mídia e por quem.

Limites

Veja na tabela a seguir os limites por job de transcodificação.

Limites do job
Tamanho total da entrada400 GB
Tamanho total da saída400 GB
Duração EditList máxima24 horas
Número máximo de streams de vídeo30
Número máximo de streams de áudio50
Número máximo de streams de texto50
Número máximo de streams mux100
Número máximo de manifestos100
Número máximo de spritesheets10

Conceitos e terminologia

Nesta seção, você verá um glossário de termos úteis para trabalhar com a API Transcoder.

Intervalo de anúncio

Um intervalo de anúncio é uma publicidade curta que aparece antes ou durante a reprodução de mídia. A API Transcoder é compatível com um frame-chave de intervalo de anúncio na configuração do job. A API Transcoder não insere ou reproduz anúncios, nem interrompe a reprodução de mídia. clientes de players de vídeo são responsáveis por manipular o frame-chave.

Atom

Um atom é uma estrutura de dados fundamentais para definir os metadados e o local de um vídeo. Um vídeo pode abranger uma hierarquia aninhada complexa de diferentes tipos de atoms, incluindo áudio, edição e atoms de texto.

Atom de áudio

Um atom de áudio mapeia o áudio de um stream básico para uma lista de edição.

Tipo de codec e perfil

Ao selecionar o codec para um stream de vídeo, especifique o tipo do codec, como H.264 e o perfil, como o perfil high padrão.

Contêiner

Um contêiner é um wrapper que descreve a relação entre os vários componentes em um stream multiplexado, incluindo arquivos de mídia e metadados. A API Transcoder é compatível com os formatos de contêiner MP4, MPEG-DASH e HLS.

Editar atom

Um atom de edição define os deslocamentos de início e término para os segmentos individuais de um stream que você quer combinar em uma lista de edição.

Editar lista

Uma lista de edições define uma sequência de edições como uma linha do tempo para o arquivo ou manifesto resultante de um trabalho de transcodificação.

Stream básico

Um stream básico é uma codificação de um arquivo de entrada, como uma faixa de áudio, vídeo ou legenda. É necessário empacotar streams principiantes antes de mapear e compartilhar o stream para diferentes formatos de saída.

Codificação de entropia

A codificação de entropia é uma forma de compactação sem perdas compatível com a API Transcoder. Ao configurar jobs, você pode especificar o Context-Adaptive Variable-Length Coding (CAVLC, na sigla em inglês) ou o Context-Adaptive Binary Arithmetic Coding (CABAC, na sigla em inglês).

Job

Um job é a unidade básica para gerenciar trabalhos com a API Transcoder. Quando você envia um job para a API Transcoder, ele é processado em uma localização geográfica conhecida como região. É possível listar e gerenciar todos os jobs de uma região.

O ciclo de vida de um job inclui três etapas: preparar, transcodificar e empacotar.

  • Preparar
    • Fazer o download de entradas do Cloud Storage
    • Analisar entradas
    • Validar entradas
  • Transcodificar
    • Executar operações de transcodificação em entradas
  • Empacotar
    • Agrupar entradas
    • Entradas multiplex
    • Faça upload de saídas para o Cloud Storage

O estado de um job é atualizado. O serviço informa erros usando o campo error.

Configuração do job

Uma configuração de job representa muitas das várias configurações que podem ser personalizadas ao criar e enviar um job à API Transcoder. É possível especificar definições de configuração, como listas de edição e onde inserir tags de intervalo de anúncio em um manifesto de saída. É possível criar configurações de jobs reutilizáveis como modelos de job para uso em uma região do Google Cloud.

Modelo do job

Por padrão, a API Transcoder aplica um modelo predefinido chamado preset/web-hd para preencher uma configuração de job. Essa configuração de job produz os seguintes arquivos de saída:

  • manifest.m3u8: a playlist principal para um stream de mídia HLS. Este arquivo contém referências às playlists da variante de alta definição (HD) da saída e da variante de definição padrão (SD) da saída.
    • media-hd.m3u8: playlist para a variante de alta definição
      • media-hd0000000000.ts: arquivo de segmento de vídeo em alta definição
    • media-sd.m3u8: playlist para a variante de definição padrão
      • media-sd0000000000.ts: arquivo de segmento de vídeo de definição padrão
  • manifest.mpd: a playlist de um stream de mídia MPEG-DASH. Esse arquivo contém referências a arquivos de segmento somente de vídeo e somente de áudio.
    • audio-only0000000000.m4s: arquivo de segmento somente de áudio
    • video-only-hd0000000000.m4s: arquivo de segmento somente de vídeo de alta definição
    • video-only-sd0000000000.m4s: arquivo de segmento somente de vídeo de definição padrão
  • sd.mp4: arquivo de vídeo de definição padrão independente
  • hd.mp4: arquivo de vídeo de alta definição independente

É possível criar e gerenciar seus próprios modelos de job personalizados e especificá-los ao criar jobs.

Pré-processamento

O pré-processamento é o estágio de um job que ocorre antes da transcodificação principal. Ao configurar o estágio de pré-processamento, é possível aplicar filtros, como cor, redução de ruído e desbloqueio. O desbloqueio pode ajudar a reduzir os artefatos de bloqueio como resultado da compactação.

Configuração de pré-processamento

Uma configuração de pré-processamento representa as configurações de filtros que podem ser aplicadas a um vídeo antes do estágio de transcodificação de um job. É possível aplicar vários filtros, incluindo saturação de cores, desbloqueio e redução de ruído.

Modo de controle de taxas

O modo de controle de taxa indica se o job é processado usando os modos de fator de taxa constante (CRF) ou taxa de bits variável (VBR). O CRF garante qualidade constante em todos os recursos de mídia processados. A VBR otimiza o processo de codificação para reduzir o tamanho do arquivo dos recursos de mídia processados. Para casos de uso de streaming, selecione o modo de controle de taxa VBR. Para fins de arquivamento, selecione o modo de controle de taxa de CRF.

Manifest

Um manifesto é uma descrição do conteúdo e dos metadados disponíveis de um stream de mídia adaptável para um cliente. Na API Transcoder, é possível configurar um job para gerar um manifesto com um nome de arquivo, uma lista de fluxos multiplexados e o tipo de manifesto, que precisa ser HLS ou MPEG-DASH.

Atom de texto

Um atom de texto mapeia o texto de um stream básico para uma lista de edição.

Stream de texto

Um stream de texto codifica dados de texto associados a um vídeo, como closed captions ou legendas.

A seguir