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:

  • Inserir frames-chave de anúncios para permitir que os clientes do player de vídeo insiram anúncios
  • Crie miniaturas a partir de uma spritesheet de frames de vídeo gerada
  • Criar modelos de job para salvar e reutilizar configurações personalizadas ou complexas para jobs de transcodificação.
  • 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

    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