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).