CBR¶
media.transcode.cbr
What the multiplexer does¶
- The target rate is derived from the track bitrates — with roughly 5% headroom for growth and a budget for the service tables.
- Sparse places are filled with null packets (PID 0x1FFF): the bandwidth is occupied evenly even when the frames arrived in bursts.
- The PCR is placed from a drift-free clock, so the divergence between PCR and DTS does not accumulate even over many hours of broadcasting.
- The decoder buffer model (HRD) is accounted for — overflows and underruns are tracked rather than discovered at the receiver.
Evenness is measured against the stream's internal clock (27 MHz), not against wall time: the layout does not depend on how unevenly the frames arrive from the source.
What evenness costs¶
The three requirements of a multiplex — lay the packets out evenly, never stall, never drop anything — are pairwise satisfiable and jointly are not. Evenness is a claim about the future while the data is a fact about the past: to lay packets out evenly the schedule has to know the pace in advance, and the pace can only be measured from what has already arrived.
In practice this means:
- A PID with nothing to send yields its slot instead of stopping the multiplex. An audio track announced in the PMT but silent must not hang the video — and it does not.
- A lagging PID catches up inside the window instead of being dropped. A classic broadcast mux loses data at this point; here the trade is made the other way.
- The pace is measured from the packed PES, not inferred from the declared bandwidth times a constant.
What follows for the operator: set the output bitrate honestly, with headroom for peaks, rather than to the last bit. An understated bandwidth is not "slightly worse quality", it is a systematically lagging PID.
Set the output tracks¶
Open the stream, the Transcoder tab. You can start from a preset — say Standard ladder 1080/720/360 + AAC — and edit the rungs from there.
On a rung in the Video (ladder) block:
- Bitrate (kbps) — the track's target rate. The sum of the tracks plus the service tables is the bandwidth the transport stream will occupy.
- GOP length and GOP structure — for broadcast the GOP is usually exactly one second: an entry point for the receiver and for splicing. The Unify GOP button aligns it across all rungs.
- Codec — with the value As is the rung is not re-encoded. If the source already arrived in the right shape, the multiplexer needs no transcoder to lay it out evenly.
- Height, Rate control and Encoder preset — the rung's other properties.
The Encoding block chooses what does the work: CPU or NVIDIA GPU (with a card selected, or automatically the least loaded one).
Warning
A passthrough rung next to encoded ones degrades the ladder: its GOP and keyframes are not aligned with the other rungs. The panel marks such a rung separately.
Checking¶
What to look at on the output:
- the rate at the receiver — it must not wander; a dip means the multiplex had nothing to send;
- the PCR jitter and the continuity counters — see TR 101 290; an even stream with an incorrect PCR does not help a modulator;
- the service tables — the receiver must see the service under the expected number.
Overriding the tables on an individual destination does not break the CBR: the destination gets a copy of the shared output with rewritten PIDs and tables, while the packet layout and the PCR remain those of the shared multiplex.