Skip to content

PES Headers and Encoder Monitoring

PES header inspection

Packetized Elementary Stream (PES) headers carry metadata about each access unit — timing, stream type, flags, and encoding parameters. Most subscriber devices ignore PES headers entirely to save processing resources. However, when a service has decoding problems that are not explained by CCE, PCR, or PTS errors, PES header fields are worth checking.

PES header information is only available for unscrambled streams — encryption covers the PES header along with the payload.

Navigate to the service's elementary stream in the service tree and select the PES tab to view header fields. The position of the PES section in the interface:

Position of the PES information section in the service tree

Full PES header field view:

Information about the composition of the PES header

Key PES header fields

Field Normal value Impact if wrong
stream_id Must match the actual stream type (video/audio) per ISO 13818-1 Table 2-22 Decoder may not process the stream
stream_id_name Descriptive name derived from stream_id Verify it matches the expected stream type from the multiplexing scheme
PTS_DTS_flag Must be present If absent, decoder cannot synchronize presentation timing
PTS Within the time scale set by PCR Verify correctness per Bitrates & Timestamps
DTS Present for video with B-frames; earlier than PTS Decoder must receive data before it can decode it
PES_packet_length For video streams, usually 0 (unbounded) Incorrect non-zero values can cause periodic decoding errors
data_alignment_indicator Consistent with actual packet structure Mismatch causes periodic or permanent decoding failure
PES_scrambling_control 0 for modern CAS (Simulcrypt) Non-zero indicates PES-level scrambling, not supported by Simulcrypt — device may report signal encrypted even when it is not
ESCR_flag Must be 0 If 1, the ES uses its own synchronization scale; most devices cannot handle this, with effects similar to missing PCR
ES_rate Must not be 0 Zero is a prohibited value; some decoders may reject the stream
DSM_trick_mode_flag Must be 0 A value of 1 is non-standard and can theoretically cause decoding failures
PES_CRC_flag Should be 0 CRC in PES is rarely used in DTV; if unintentionally set, disable in the encoder
PES_extension_flag Should be 0 PES extensions are rarely used; if unintentionally set, disable in the encoder
stuffing_byte_length Present for CBR elementary streams Stuffing is used to equalize bitrate within the ES
copyright 1 if copyright-protected content Informational; no impact on decoding
original_or_copy 1 = original, 0 = copy Informational
PES_priority Usually ignored by decoders Some decoders may deprioritize or ignore a stream based on this flag

Encoder compression parameters

For elementary streams carrying compressed video or audio, TS Analyzer provides an Encoder section in the ES properties panel:

Encoder information section in the ES details panel

This shows compression parameters extracted from the bitstream itself. An example of compressed video properties:

Panel of compression properties for video

Check these values against the multiplexing scheme and encoder settings after any encoder reconfiguration:

  • Video codec and profile/level — must match the decoder capabilities of the target subscriber devices.
  • Aspect ratio and frame rate — incorrect values cause incorrect display scaling or frame cadence.
  • Bit depth / chroma format — must be supported by downstream devices.
  • Audio codec, sample rate, and channel configuration — mismatches cause silent or distorted audio.

If compression parameters do not match the encoder's configured settings, the encoder itself may have a fault, or the stream may have been re-encoded by an unexpected device in the chain.