Transcodificadores

Os transcodificadores são implementados como binários executáveis separados, iniciados pelo pstreamer como processos independentes.

Suporta configurações 1toN: a partir de um decoder é possível gerar vários fluxos com configurações diferentes de encoder.

O fluxo de origem deve conter vídeo e áudio; variantes sem vídeo ou sem som não são suportadas.

Codecs implementados:

  • Video SW decoder: mpeg2, h.264, hevc (h.265)

  • Video NW decoder: mpeg2, h.264, hevc (h.265)

  • Video SW encoder: mpeg2, h.264, hevc (h.265)

  • Video NW encoder: h.264, hevc (h.265)

Fluxos interlaced são suportados na entrada e na saída.

Para os decoders H.264 e HEVC, há suporte ao interlace alternate (dois campos separados no fluxo); é convertido em interlace interleaved.

O decoder HEVC suporta o perfil Main10 com bt.709 (SDR) e bt.2020 (HDR). O encoder HEVC sempre usa o perfil Main com bt.709.

Para os decoders H.264 e HEVC há suporte ao VFR (Variable Frame Rate); ele é convertido para frame rate constante.

  • Audio decoder - mpeg (layer 1,2,3), aac, ac3

  • Audio encoder - mpeg (layer 2), aac

Existe o modo de transcodificação Video Passthrough — o vídeo não é transcodificado, apenas o áudio; é usado o transcodificador SW.

Nota

Para a transcodificação configure dois ou mais streams, com output (decoder) e input (encoder).

Para configurar uma instância do transcodificador é necessário:

  • Fonte — adicionar no stream output transcoder (decoder). Nas configurações escolha o tipo: SW, NV ou Video Passthrough.

  • Fluxo de saída — adicionar no stream input transcoder (encoder); nas configurações selecionar a fonte-decoder.

  • Repetir se forem necessários vários fluxos de saída para um mesmo decoder.

Configurações do transcodificador de saída (decoder)

  • Convert colors to BT.709 — conversão dos formatos SD BT.470-2 (PAL) e SMPTE 170M (NTSC) para BT.709

  • Trace — ativar o log detalhado do transcodificador para diagnóstico.

Para o funcionamento correto do transcodificador, o fluxo de origem deve atender a determinados requisitos; em alguns casos isso pode ser corrigido. Estas configurações não convertem o fluxo — atuam como dicas para o funcionamento correto do transcodificador.

Para corrigir os dados do fluxo de entrada existem as configurações:

  • Fix PAR — corrigir o Pixel Aspect Ratio. É indicado como fração N/D; por exemplo, 16/9 para Wide SD.

  • Fix Framerate — especificar explicitamente o framerate. Em alguns fluxos o framerate pode estar ausente no SPS e o log do transcodificador apresentará o erro correspondente. Nesses casos é necessário indicar o framerate manualmente. É indicado como fração N/D.

Exemplos de valores de framerate:

  • PAL - 25/1

  • NTSC — 30/1 ou 30000/1001

  • Cinema — 24/1 ou 24000/1001

Configurações do transcodificador de entrada (encoder)

  • Encoder Type — codec de vídeo.

  • Align Total Bitrate — taxa de bits do stuffing do fluxo (preenchimento com pacotes null). É importante defini-la se o fluxo for usado para transmissão DVB. A taxa de bits deve ser garantidamente maior que a do vídeo e a de todas as trilhas de áudio.

  • Video Profile — para H.264 é possível escolher o perfil de codificação.

  • Video Bitrate — taxa de bits do fluxo de vídeo em kbps. A codificação é sempre CBR; a taxa total será maior por causa das trilhas de áudio.

  • Speed Preset — predefinições de codificação, valores de 1 a 7. Menor valor = maior qualidade e mais recursos. Padrão 4.

  • GOP Interval — intervalo em frames para o GOP (equivale ao Key Frame Interval). Padrão 25 (1 segundo a 25p); recomendado quando os players iniciam a reprodução a partir de um ponto arbitrário do fluxo.

  • BFrame — ativar para melhorar a qualidade. Valor recomendado: 3.

  • Lookahead — ativar para melhorar a qualidade. Valor recomendado: 20–50 frames.

  • Resize — redimensionamento da imagem.

  • Deinterlace — converte interlace em sinal progressivo.

A inserção de crop (bordas vazias na imagem) não é suportada. Tamanhos de imagem arbitrários não são suportados, pois podem distorcer as proporções.

Para resize estão disponíveis as opções:

  • Reduzir proporcionalmente o tamanho em 2 e 4.

  • Definir o formato Wide SD 16:9, será aplicado o Aspect Ratio adequado.

  • Upscale SD→HD. Aplica-se a fontes SD PAL/NTSC. O interlace não é suportado; aplique deinterlace antes se necessário.

  • Definir a largura. A altura será recalculada proporcionalmente.

  • Definir a altura. A largura será recalculada proporcionalmente.

Alguns parâmetros podem ser incompatíveis com o transcodificador escolhido; os erros aparecem nos respectivos logs.

Processamento de áudio

Por padrão todas as trilhas de áudio passam do input para o output sem processamento. Trilhas desnecessárias podem ser removidas com os filtros de PID do stream.

Para transcodificar áudio, configure regras separadas por codec. A opção skip — remover a trilha de áudio com esse codec.

Se no fluxo de saída não houver trilhas de áudio, ocorrerá um erro — consulte os logs do transcodificador.

Geração de PCR e TR 101 290

O multiplexador MPEG-TS gera um novo PCR. Com Align Total Bitrate correto (maior que a soma dos bitrates de vídeo e áudio), o PCR deve passar na conformidade TR 101 290.

Status dos transcodificadores

Em caso de problemas no funcionamento do transcodificador (não há fluxo do encoder), consulte os logs na seção Transcoders — é exibida a lista de instâncias (cada linha é uma instância separada, decoder + N encoders); ao clicar na instância desejada, abre-se a janela de status dos logs. São exibidos o log atual e o log da execução anterior. Para log detalhado, ative trace nas configurações do output (decoder).