Ask Your Question

Revision history [back]


Packetized Elementary Stream (PES) is a data format for carrying elementary streams (audio, video, etc.) where these streams are packetized. These are what you are referring to as TS packets.

Simply put, you only get one PES header per stream once in while and lots of actual data packets for the stream itself so that is why you see a difference in quantity.

PES has a header for each stream and each piece of that stream as a header as well. You can filter through that using display filters for PES headers.

I suggest you read up on PES and MPEG TS to familiarize yourself with the format of the different headers.

Old forum post suggests using mpeg-pes.frame_type for filtering frame type.

Using mpeg-pes.frame_type you can filter by using an integer representing the frame type:

static const value_string mpeg_pes_T_frame_type_vals[] = {
  {   1, "i-frame" },
  {   2, "p-frame" },
  {   3, "b-frame" },
  {   4, "d-frame" },
  { 0, NULL }

Not all header fields may be present so YMMV.