Skip to content

Codificação de vídeo

media.transcode.video

A função media.transcode.video codifica a trilha de vídeo selecionada no codec de saída desejado e permite definir a taxa de bits, a resolução e a estrutura GOP.

A criação de várias qualidades de saída e os detalhes do processamento conjunto estão descritos na transcodificação multibitrate.

Codecs de saída

A função media.transcode.video inclui a codificação nos seguintes codecs de vídeo de saída:

Codec de vídeo Valor de codec
H.264 / AVC {set: h264}
H.265 / HEVC {set: hevc}
AV1 {set: av1}
MPEG-2 Video {set: mp2v}

Configuração

Em transcoder.output, indique a trilha de vídeo de origem com source, o codec de destino com codec e a taxa de bits com bitrate:

streams:
  - name: tv1
    inputs:
    - udp: {host: 239.0.0.1, port: 5000}
    transcoder:
      output:
      - source: !best_quality video
        codec: !set h264
        bitrate: 2800000

Seleção da trilha de origem

Para uma única saída de vídeo, use source: {best_quality: video}: seleciona a trilha de vídeo com a maior taxa de bits declarada. Se souber o ID de entrada, use source: {exact: v1}. Com uma fonte reserva, esse ID deve identificar a trilha desejada em cada entrada.

Consulte a descrição detalhada da seleção de trilhas para ver todos os seletores, o comportamento na troca para reserva e os exemplos.

Sem correspondências, a regra ao vivo não cria saída. O processamento ao vivo não implementa os modos if_missing: blank e substitute; eles não fornecem um sinal ausente.

Codecs e parâmetros

  • codec — codec de vídeo de destino da lista acima. codec: same preserva os quadros originais sem recodificá-los.
  • bitrate — taxa de bits de destino em bits/s.
  • gop_size — comprimento do GOP em quadros.
  • gop_structure — estrutura da sequência de quadros, por exemplo ip ou ibbbp.

HEVC

streams:
  - name: tv1
    inputs:
    - udp: {host: 239.0.0.1, port: 5000}
    transcoder:
      output:
      - source: !best_quality video
        codec: !set hevc
        bitrate: 2800000

AV1

Na codificação por software, o servidor procura os codificadores disponíveis nesta ordem:

  • SVT-AV1;
  • libaom;
  • rav1e.

Se nenhum estiver disponível, tenta o codificador AV1 padrão disponível. O preset de velocidade é convertido nas configurações do codificador escolhido. Na NVIDIA, usa-se AV1 NVENC; a GPU deve oferecer codificação AV1.

Para entrega segmentada, o servidor fixa o intervalo de quadros-chave e desativa a detecção de cenas nos codificadores AV1 por software. Eles não oferecem GOP aberto: o servidor usa GOP fechado e registra um aviso se um GOP aberto for solicitado.

AV1 por software usa VBR com GOP de acesso aleatório. Se CBR for solicitado, o servidor continua em VBR e registra um aviso. É uma limitação do codificador.

Redimensionamento

resize O que faz
!scale escala exata para as dimensões indicadas
!fit encaixar preservando a proporção de aspecto (com preenchimento, cor de fundo configurável)
!crop recortar para as dimensões indicadas

Verificação

Confira o codec e os parâmetros de vídeo da saída nas estatísticas do stream. Depois abra http://server/streaming/v/tv1/index.m3u8 em um reprodutor e verifique a reprodução.

Próximos passos

O formato do pixel e sua interação com o redimensionamento são descritos em SAR e vídeo anamórfico.