Transcodificadores

Os transcodificadores recodificam o vídeo e o áudio do fluxo: reduzem a taxa de bits para OTT ou para o multiplex, alteram o codec e a resolução, preparam variantes para pacotes adaptativos. Cada transcodificador funciona como um processo separado do nó; é suportado o esquema «um para muitos» — a partir de um único decodificador é possível obter vários fluxos de saída com configurações de codificação diferentes. A transcodificação está disponível somente para fluxos SPTS; o fluxo de origem deve conter tanto vídeo quanto áudio.

Arquitetura do transcodificador: um decodificador comum e várias ramificações independentes de processamento e codificação; o áudio é multifaixa, as legendas e o teletexto passam de forma transparente.

Arquitetura do transcodificador: um decodificador (comum) e N ramificações independentes «processamento + codificador»; as faixas de áudio são processadas separadamente do vídeo, as legendas e o teletexto passam de forma transparente.

Conexão

O transcodificador conecta dois ou mais fluxos:

  1. No fluxo de origem é adicionada uma saída do tipo transcoder — este é o decodificador. Em suas configurações, é selecionado o backend de transcodificação (veja abaixo).

  2. No fluxo de resultado é adicionada uma entrada do tipo transcoder — este é o codificador. Em suas configurações, é selecionado o decodificador de origem em funcionamento (campo Decoder).

  3. O passo 2 é repetido para cada variante adicional — todas elas utilizam o decodificador comum.

Em seguida, o fluxo de resultado funciona como um fluxo SPTS comum: pode ser distribuído em OTT, gravado em DVR, enviado ao multiplexador.

Backends e codecs

O backend é selecionado no decodificador (campo Transcoder backend; os valores são dados como na interface):

Video pass-through

O vídeo passa sem recodificação; somente o áudio é transcodificado. Esse modo é executado pelo transcodificador por software, por isso o pacote de transcodificação por software deve estar instalado (Transcodificadores).

Software (CPU)

Transcodificação por software na CPU.

NVidia (GPU)

Transcodificação por hardware em processadores gráficos NVIDIA.

Intel VPL (GPU)

Transcodificação por hardware em processadores gráficos Intel.

Para os backends de GPU, o dispositivo é selecionado pelo campo GPU device selector (configuração avançada). Isso é necessário em servidores com várias placas. Os pacotes dos transcodificadores são instalados separadamente (Transcodificadores); os backends instalados, suas versões e os dispositivos encontrados são mostrados na tela «Sobre o sistema» (Sobre o sistema).

O decodificador aceita vídeo MPEG-2, H.264, HEVC e áudio MPEG (Layer 1–3), AAC, AC-3. O codificador produz vídeo H.264 e HEVC (o codificador NVIDIA não suporta MPEG-2; o MPEG-2 é codificado pelos backends Software e Intel VPL) e áudio MPEG Layer II e AAC.

Particularidades do decodificador:

  • fluxos entrelaçados (interlace) são suportados na entrada e na saída; para H.264 e HEVC, o formato interlace alternate (campos separados) é convertido em interleaved;

  • para HEVC é suportado o perfil Main10 com BT.709 (SDR) e BT.2020 (HDR); o codificador HEVC utiliza sempre o perfil Main com BT.709;

  • a taxa de quadros variável (VFR) é convertida em constante;

  • são suportados fluxos sem quadros IDR.

Configurações do decodificador

São definidas na saída do tipo transcoder do fluxo de origem (os nomes são dados como na interface; todas as configurações listadas abaixo são avançadas):

Fix PAR (N/D), Fix frame rate (N/D)

Dicas para corrigir os dados do fluxo de entrada: elas não transformam o fluxo, mas corrigem os parâmetros quando a fonte não os informa ou os informa incorretamente. Fix PAR — a relação de aspecto do pixel como fração (por exemplo, 16/9 para Wide SD); Fix frame rate — a taxa de quadros como fração, caso ela esteja ausente no fluxo (PAL — 25/1, NTSC — 30000/1001, cinema — 24/1).

Convert to BT.709

Conversão dos formatos de cor SD (BT.470-2 PAL, SMPTE 170M NTSC) em BT.709.

Watchdog timeout

Tempo limite do reinício por watchdog do processo do transcodificador.

O processo do transcodificador mantém sempre um registro detalhado; não é necessária uma configuração de rastreamento separada (Controle do funcionamento). O registro fica apenas na memória do nó; como salvá-lo para análise está descrito em Registros do transcodificador.

Configurações do codificador

São definidas na entrada do tipo transcoder do fluxo de resultado:

Encoder

Codec de vídeo: MPEG-2, H.264 (padrão) ou HEVC.

Video profile (H.264)

Perfil de codificação H.264: Main ou High.

Video rate control

O modo de controle de bitrate de vídeo: taxa constante — CBR (constant); variável com bitrate médio — VBR (average bitrate); variável com teto — VBR (maximum bitrate). O padrão é a taxa constante.

Em ambos os modos variáveis, o codificador deixa de preencher seu próprio fluxo elementar, de modo que a economia de banda só ocorre onde o fluxo receptor não nivela o bitrate de volta: o preenchimento é definido pelo campo «Modo de bitrate» na aba «MPEG-TS» desse fluxo (Controle de bitrate). Não confunda esses dois campos: «Modo de bitrate» diz respeito ao fluxo de transporte como um todo; Video rate control, apenas ao codificador de vídeo.

O modo surgiu na 2.0.2.334. Em um nó de compilação anterior, o campo não existe, e um transcodificador de compilação anterior não o lê e codifica sempre com taxa constante.

Video bitrate (kbps)

O bitrate de vídeo é um único número para os três modos; o que ele significa é definido pelo Video rate control, e o rótulo do campo muda junto com o modo. Com taxa constante, o número é ao mesmo tempo o alvo e o teto do buffer. Com bitrate médio, o número é a taxa média, e os picos chegam a uma vez e meia esse valor. Com teto, o número é o limite superior que o vídeo não ultrapassa, e a taxa média fica em dois terços dele. Em todos os casos o codificador deduz o segundo limite a partir de uma relação fixa entre pico e média de 1,5, por isso o máximo não é definido por um campo próprio. O bitrate total do fluxo será maior por causa das faixas de áudio.

Resize

Alteração do tamanho da imagem: redução proporcional de 2 ou 4 vezes; conversão para SD — variantes SD, SD PAL e SD NTSC, todas com a relação panorâmica 16:9; escalonamento de SD para HD; definição da largura ou da altura (o outro lado é recalculado proporcionalmente). Tamanho arbitrário não é suportado: ele distorceria as proporções.

Deinterlace

Conversão de vídeo entrelaçado em progressivo (habilitada por padrão; ao escalonar SD para HD é aplicada automaticamente).

Configurações de qualidade e de estrutura do fluxo (configurações avançadas):

GOP interval

Intervalo de quadros-chave, em quadros. Por padrão 25, ou seja, um segundo para 25p. Esse intervalo é recomendado se os reprodutores se conectam ao fluxo em um momento arbitrário.

B-frames, Lookahead

Aumentam a qualidade da codificação; os valores recomendados são 3 e 20–50 quadros, respectivamente.

Speed preset

Predefinição da velocidade de codificação de 1 a 7; quanto menor o valor, maior a qualidade e maior a carga. Por padrão 4.

Frame rate resample

Redução da taxa de quadros em 2 ou 4 vezes.

Encoder PMT PID, PAT/PMT interval (90kHz)

O PID da tabela PMT e o intervalo de repetição das tabelas PAT/PMT no fluxo de saída; são definidos quando é necessário enquadrar o fluxo no plano da rede.

Salvar qualquer configuração do codificador reinicia o processo do transcodificador. Um aviso acima da lista de campos informa sobre isso. O reinício reabre cada entrada que recebe dados dessa instância de transcodificador, inclusive as entradas de outros fluxos: em cada saída transcodificada haverá um corte breve, e um fluxo com entradas de reserva pode, durante esse tempo, passar para a reserva (Redundância de fontes e distribuição).

É possível definir uma combinação incompatível de parâmetros; os erros ficam visíveis no registro do transcodificador (Controle do funcionamento).

Processamento de áudio

Por padrão, todas as faixas de áudio passam da entrada para a saída sem recodificação. As faixas supérfluas são removidas pelos filtros de PID na entrada do fluxo (Filtragem MPEG-TS).

A recodificação do áudio é configurada por regras, separadamente para cada codec de origem (configurações avançadas): a faixa pode ser passada sem alterações, recodificada (MPEG — em AAC; AAC — em MPEG Layer II; AC-3 — em MPEG Layer II ou AAC) ou removida (valor Skip). Também são definidos a taxa de bits do áudio (Audio bitrate, por padrão 128 kbps) e o volume da mixagem redutora 5.1 (5.1 downmix volume). Se, após a aplicação das regras, não restar nenhuma faixa de áudio no fluxo de saída, o codificador informará um erro no registro.

PCR e taxa de bits do fluxo de saída

O multiplexador do transcodificador forma marcas PCR novas e consistentes. Por padrão, o fluxo de saída é transmitido como VBR: a taxa de bits total varia junto com a taxa de bits real do vídeo e do áudio, e a precisão do PCR conforme a TR 101 290 não é garantida no lado receptor. Se o fluxo transcodificado se destina à difusão DVB, habilite o modo CBR no fluxo receptor: o preenchimento nivelará a taxa de bits e recalculará o PCR (Controle de bitrate). Um modo de codificação variável acentua a irregularidade: o bitrate de vídeo varia junto com o conteúdo e, sem preenchimento no receptor, o fluxo de transporte fica ainda mais irregular.

Controle do funcionamento

A tela «Transcodificadores» (Transcodificadores) mostra todas as instâncias. Cada linha descreve uma instância separada (o decodificador e os codificadores conectados a ele): o estado, o tipo de backend, o tempo de funcionamento, a carga de CPU e a memória. A janela «Instância de transcodificador» (Instância de transcodificador) detalha a fonte, a lista de codificadores com os parâmetros do vídeo de saída, os recursos do processo e os registros da execução atual e da anterior. O diagnóstico começa por essa janela. O registro de uma execução encerrada é apagado já na segunda reinicialização do processo; por isso, em caso de falha, ele é copiado imediatamente (Registros do transcodificador).

A carga dos dispositivos GPU é exibida na tela «Monitor do Sistema» (Monitor do Sistema). As ultrapassagens dos limiares de CPU, de memória e de carga da GPU, bem como a indisponibilidade do backend configurado, geram alertas (Catálogo de códigos de alerta).