TsCommonOutputSettings

Field

Type

Repeated

Description

encoder

TsCommonOutputSettings.TsEncoder

ts_broadcast_bitrate

int32

first_pmt_pid

OptionalInt

pcr_interval

OptionalInt

PCR interval (broadcast ts - in ms)

table_interval

OptionalInt

PAT/PMT table interval (broadcast ts - in ms)

pcr_delay_ms

OptionalInt

PCR delay in milliseconds - note if this is insufficient the stream will be invalid, beware

audio_frames_per_pes

OptionalInt

PES packing of audio frames (where applicable). Lower values reduce audio latency, but increase bandwidth due to encapsulation overhead. Minimum 1, applicable maximum bounded by the byte size of a PES packet. If omitted the default is 16. The packing is an upper bound, not the cadence: audio is also released whenever its oldest frame is pcr_delay_ms (default 500) old, so at the default a 48 kHz AAC stream goes in ~341 ms (16-frame) bursts and a 32 kHz one in ~500 ms bursts.

cta708_charset

Cta708Charset

Charset used when emitting CTA-708 P16 (16-bit) captions, for producing East-Asian captions in a legacy DBCS rather than Unicode. Defaults to Unicode.

flush_partial_packets

bool

When true, the egress packet queue stops holding a sub-packet tail while it waits for the next chunk to fill a 7 x 188 = 1316-byte payload: at every chunk boundary it sends whatever whole TS packets it has, as a shorter payload. Removes up to 1316-bytes-worth of delay between the muxer and the socket, which on a low-bitrate audio-only stream is tens of milliseconds; costs the extra per-payload headers.

Simple encoder only — rejected with the broadcast encoder, whose whole point is a constant rate the muxer has already paced. No effect on the file output, which does not queue.

timecode

AncillaryTimecodeSettings

When set, every video stream gets a SMPTE 2038 stream beside it carrying its ATC (SMPTE ST 12-2), one packet per frame.

timecode_pid

OptionalInt

The PID of that SMPTE 2038 stream; by default the first free PID after its video’s.