CBR para DVB¶
Um modulador não precisa de uma taxa média, precisa de uniformidade no nível de pacotes TS: a banda está alocada e o stream deve ocupá-la exatamente, sem quedas nem picos. O mesmo requisito vem dos receptores profissionais e das redes onde o transporte é contado por banda, e não por uma média por minuto.
O CBR no Mcaster é uma propriedade do multiplexador de saída, não um botão separado de «ligar CBR».
O que o multiplexador faz¶
- A taxa-alvo é derivada dos bitrates das trilhas — com uma folga de cerca de 5% para o crescimento e um orçamento para as tabelas de serviço.
- Os vazios são preenchidos com pacotes nulos (PID 0x1FFF): a banda fica ocupada de modo uniforme mesmo quando os quadros chegam em rajadas.
- O PCR é posicionado a partir de um relógio sem deriva, por isso a divergência entre PCR e DTS não se acumula nem em muitas horas de transmissão.
- O modelo de buffer do decodificador (HRD) é levado em conta — estouros e esvaziamentos são acompanhados em vez de descobertos no receptor.
A uniformidade é medida contra o relógio interno do stream (27 MHz), não contra o relógio de parede: o arranjo não depende de quão irregularmente os quadros chegam da fonte.
O que a uniformidade custa¶
As três exigências de um multiplex — arranjar os pacotes de modo uniforme, nunca travar, nunca perder nada — são satisfeitas duas a duas, mas não as três juntas. A uniformidade é uma afirmação sobre o futuro, enquanto os dados são um fato sobre o passado: para arranjar os pacotes uniformemente, o cronograma precisa conhecer o ritmo com antecedência, e o ritmo só pode ser medido pelo que já chegou.
Na prática, isso significa:
- Um PID sem nada para enviar cede o seu lugar em vez de parar o multiplex. Uma trilha de áudio anunciada na PMT mas silenciosa não deve travar o vídeo — e não trava.
- Um PID atrasado se recupera dentro da janela em vez de ser descartado. Um mux de broadcast clássico perde dados neste ponto; aqui a troca é feita ao contrário.
- O ritmo é medido pelo PES empacotado, não inferido da banda declarada multiplicada por uma constante.
O que daí segue para o operador: defina o bitrate de saída com honestidade, com folga para os picos, e não no limite do bit. Uma banda subestimada não é «qualidade um pouco pior», é um PID sistematicamente atrasado.
Configure as trilhas de saída¶
Abra o stream, a aba Transcodificador. Você pode começar de um preset — por exemplo Escada padrão 1080/720/360 + AAC — e editar os degraus a partir daí.
Num degrau do bloco Vídeo (escada):
- Bitrate (kbps) — a taxa-alvo da trilha. A soma das trilhas mais as tabelas de serviço é a banda que o fluxo de transporte vai ocupar.
- Comprimento do GOP e Estrutura do GOP — para broadcast, o GOP costuma ser de exatamente um segundo: um ponto de entrada para o receptor e para a emenda. O botão Unificar GOP o alinha em todos os degraus.
- Codec — com o valor Como está, o degrau não é recodificado. Se a fonte já chegou na forma certa, o multiplexador não precisa de transcodificador para arranjá-la de modo uniforme.
- Altura, Rate control e Preset do codificador — as demais propriedades do degrau.
O bloco Codificação escolhe quem faz o trabalho: CPU ou GPU NVIDIA (com uma placa escolhida, ou automaticamente a menos carregada).
Warning
Um degrau passthrough ao lado de degraus codificados degrada a escada: seu GOP e seus quadros-chave não estão alinhados com os demais degraus. O painel marca esse degrau à parte.
Veja Vídeo anamórfico e SAR para preservar vídeo anamórfico, obter pixels quadrados e escolher uma estratégia de redimensionamento.
Logotipo no vídeo¶
O transcodificador «grava» o logotipo do canal ou uma marca d'água na trilha de vídeo: a imagem aparece em todas as saídas — o multicast para o modulador, a entrega OTT e as cópias gravadas. O logotipo da escada inteira é definido pelo cartão Logotipo da escada; os mesmos campos vivem nos ajustes avançados de cada degrau.
O cartão define o logotipo uma vez para a escada inteira:
- Atribuir — escolher a imagem da biblioteca de logotipos: busca por nome e upload de um arquivo PNG, JPEG ou WebP de até 1 MB.
- Posição no quadro — canto superior esquerdo, superior direito, inferior esquerdo, inferior direito ou centro. Os deslocamentos são contados do canto escolhido para dentro e, no centro, a partir do centro.
- Altura da imagem (…p), px — a altura do logotipo no degrau superior; a largura vem das proporções da imagem. Campo vazio significa o tamanho nativo da imagem, que aparece ao lado da pré-visualização.
- Deslocamento X, Deslocamento Y — os deslocamentos em pixels.
Os valores são dados para o degrau superior e recalculados nos demais na proporção da sua altura: abaixo dos campos dá para ver o que cada degrau vai receber antes de Salvar. O logotipo vai só num degrau com codificação: o passthrough («Como está») e os codecs RAW não o têm.

Desentrelaçamento¶
Uma entrada entrelaçada — SD MPEG-2, 1080i de broadcast — codificada em vídeo progressivo aparece como serrilhado. O Desentrelaçamento vive no bloco Decodificador, porque é uma propriedade da entrada, e não de um degrau: a decodificação acontece uma única vez e a imagem resolvida vai para todas as trilhas de saída progressivas. Um degrau com saída entrelaçada recebe o quadro antes do filtro.
| Modo | O que faz |
|---|---|
| Automático (apenas quadros entrelaçados) | o padrão: o filtro é aplicado aos quadros que o decodificador marcou como entrelaçados; uma entrada progressiva passa direto sem custo |
| Forçado (todos os quadros) | para fontes que mentem sobre o entrelaçamento |
| Desativado | nenhum filtro é construído, os quadros vão para o codificador como estão |
O desentrelaçamento não muda a taxa de quadros: um quadro progressivo por quadro de entrada.
Saída entrelaçada¶
Um receptor de broadcast 1080i ou 576i precisa de um sinal entrelaçado, enquanto o transcodificador codifica em progressivo por padrão. Para que um degrau saia entrelaçado, clique em Mais nele e ative Saída entrelaçada.

O que acontece com o degrau:
- A ordem dos campos vem da fonte — campo superior primeiro ou inferior primeiro; o transcodificador não a altera. Uma fonte progressiva não tem ordem de campos e sai com o campo inferior primeiro; o comando abaixo verifica a ordem.
- Os campos são processados separadamente — a mudança de tamanho e a conversão de cor não misturam os campos entre si. A exceção é uma fonte 4:2:0 cuja altura não é múltipla de 4 (por exemplo, NTSC de 486 linhas): esse quadro não se divide em dois campos iguais, então o transcodificador o processa inteiro e os campos se misturam; no log aparece então o aviso
interlaced source cannot be split into fields. - O desentrelaçamento não afeta este degrau — ele recebe o quadro da fonte antes do filtro, enquanto os degraus progressivos da mesma escada o recebem depois. Por isso um 1080i de broadcast e um 720p progressivo para a internet convivem no mesmo stream.
O vídeo é codificado em H.264 com MBAFF: a decisão «campo ou quadro» é tomada para áreas dentro do quadro.
A caixa de seleção não está disponível em todos os degraus:
- Apenas com H.264 — ao trocar para outro codec, a caixa é desmarcada sozinha.
- Apenas com codificação em CPU — com GPU NVIDIA a caixa não pode ser marcada, e uma já marcada não é desmarcada sozinha: Salvar falha até que você a desmarque.
- Altura de saída múltipla de 4 — cada campo ocupa metade do quadro. Um degrau sem mudança de tamanho usa a altura da fonte, e o transcodificador a verifica ao iniciar.
Uma entrada entrelaçada sem compressão (SDI, ST 2110) não é codificada em um degrau entrelaçado: essa entrada não traz a ordem dos campos, e os campos sairiam trocados. O transcodificador não inicia esse degrau e informa o motivo.
Se uma configuração não for válida, Salvar falha e o motivo aparece sob a caixa do degrau. Se um degrau não iniciar com o stream já em execução, acima das abas do stream aparece o aviso O transcodificador não está funcionando com o motivo e um botão para a aba Transcodificador.

A ordem dos campos da saída é verificada quadro a quadro. Não confie no resumo do stream no ffprobe (field_order): dependendo de como o stream é gravado, na saída do x264 ele pode mostrar tt mesmo com o campo inferior primeiro.
ffprobe -v error -select_streams v -show_entries frame=interlaced_frame,top_field_first -of csv=p=0 out.ts | sort | uniq -c
As linhas 1,1 significam campo superior primeiro; 1,0, campo inferior primeiro; 0,0, quadros progressivos: o degrau não saiu entrelaçado.
Verificação¶
O que olhar na saída:
- a taxa no receptor — ela não deve flutuar; uma queda significa que o multiplex não tinha nada a enviar;
- o jitter do PCR e os contadores de continuidade — veja TR 101 290; um stream uniforme com PCR incorreto não ajuda um modulador;
- as tabelas de serviço — o receptor deve ver o serviço sob o número esperado, veja Saída MPEG-TS.
Sobrepor as tabelas num destino individual não quebra o CBR: o destino recebe uma cópia da saída compartilhada com PIDs e tabelas reescritos, enquanto o arranjo dos pacotes e o PCR permanecem os do multiplex compartilhado.
O que vem a seguir¶
- Saída MPEG-TS — PNR, PIDs e SDT.
- Entrega à rede — como este stream chega ao modulador.
- TR 101 290 — como verificar que a saída serve.