Skip to content


jeanlf edited this page Dec 6, 2019 · 18 revisions

HOME » Filters » Inspect packets

Inspect packets

Register name used to load filter: inspect

The inspect filter can be used to dump pid and packets. It may also be used to check parts of payload of the packets. The default options inspect only pid changes.
The packet inspector can be configured to dump specific properties of packets using fmt.
When the option is not present, all properties are dumped. Otherwise, only properties identified by $TOKEN$ are printed. You may use '$', '@' or '%' for TOKEN separator. TOKEN can be:

  • pn: packet (frame in framed mode) number
  • dts: decoding time stamp in stream timescale, N/A if not available
  • ddts: difference between current and previous packets decoding time stamp in stream timescale, N/A if not available
  • cts: composition time stamp in stream timescale, N/A if not available
  • dcts: difference between current and previous packets composition time stamp in stream timescale, N/A if not available
  • ctso: difference between composition time stamp and decoding time stamp in stream timescale, N/A if not available
  • dur: duration in stream timescale
  • frame: framing status
    • interface: complete AU, interface object (no size info). Typically a GL texture
    • frame_full: complete AU
    • frame_start: begining of frame
    • frame_end: end of frame
    • frame_cont: frame continuation (not begining, not end)
  • sap or rap: SAP type of the frame
  • ilace: interlacing flag (0: progressive, 1: top field, 2: bottom field)
  • corr: corrupted packet flag
  • seek: seek flag
  • bo: byte offset in source, N/A if not available
  • roll: roll info
  • crypt: crypt flag
  • vers: carrousel version number
  • size: size of packet
  • crc: 32 bit CRC of packet
  • lf: insert linefeed
  • cr: insert carriage return
  • data: hex dump of packet (__ WARNING, BIG OUTPUT !! __)
  • lp: leading picture flag
  • depo: depends on other packet flag
  • depf: is depended on other packet flag
  • red: redundant coding flag
  • ck: clock type used for PCR discontinuities
  • P4CC: 4CC of packet property
  • PropName: Name of packet property
  • pid.P4CC: 4CC of PID property
  • pid.PropName: Name of PID property


fmt="PID $pid.ID$ packet $pn$ DTS $dts$ CTS $cts$ $lf$"

This dumps packet number, cts and dts as follows: PID 1 packet 10 DTS 100 CTS 108 \n

An unrecognized keywork or missing property will resolve to an empty string.

Note: when dumping in interleaved mode, there is no guarantee that the packets will be dumped in their original sequence order since the inspector fetches one packet at a time on each PID.


log (string, default: stderr, minmax: fileName, stderr or stdout): set inspect log filename
mode (enum, default: pck): dump mode

  • pck: dump full packet
  • blk: dump packets before reconstruction
  • frame: force reframer
  • raw: dump source packets without demuxing

interleave (boolean, default: true): dump packets as they are received on each pid. If false, report per pid is generated
deep (boolean, default: false): dump packets along with PID state change, implied when fmt is set
props (boolean, default: true): dump packet properties, ignored when fmt is set (see filter help)
dump_data (boolean, default: false, updatable): enable full data dump (WARNING heavy!), ignored when fmt is set (see filter help)
fmt (string, updatable): set packet dump format (see filter help)
hdr (boolean, default: true): print a header corresponding to fmt string without '$ 'or "pid."
allp (boolean, default: false): analyse for the entire duration, rather than stoping when all pids are found
info (boolean, default: false): monitor PID info changes
pcr (boolean, default: false): dump M2TS PCR info
speed (number, default: 1.0): set playback command speed. If speed is negative and start is 0, start is set to -1
start (number, default: 0.0): set playback start offset. Negative value means percent of media dur with -1 <=> dur
dur (fraction, default: 0/0): set inspect duration
analyze (boolean, default: false): analyze sample content (NALU, OBU)
xml (boolean, default: false): use xml formatting (implied if (-analyze]() is set) and disable fmt
fftmcd (boolean, default: false): consider timecodes use ffmpeg-compatible signaling rather than QT compliant one
test (enum, default: no): skip predefined set of properties, used for test mode

  • no: no properties skipped
  • noprop: all properties/info changes on pid are skipped, only packets are dumped
  • network: URL/path dump, cache state, file size properties skipped (used for hashing network results)
  • encode: same as network plus skip decoder config (used for hashing encoding results)

HOME » Filters

GPAC Configuration

Configuration File
Global Options

Filters Overview

General Filters Concepts
gpac General Usage
Built-in Properties

Filters Help

Inspect packets (inspect)
Probe source (probe)
Compositor (compositor)
ISOBMFF/QT demuxer (mp4dmx)
MPEG-4 BIFS decoder (bifsdec)
MPEG-4 OD decoder (odfdec)
File input (fin)
BT/XMT/X3D loader (btplay)
HTTP input (httpin)
SVG loader (svgplay)
JPG/J2K/PNG/BMP reframer (rfimg)
PNG/JPG decoder (imgdec)
ADTS reframer (rfadts)
LATM reframer (rflatm)
MP3 reframer (rfmp3)
FAAD decoder (faad)
MAD decoder (maddec)
XVid decoder (xviddec)
OpenJPEG2000 decoder (j2kdec)
AC3 reframer (rfac3)
A52 decoder (a52dec)
AMR/EVRC reframer (rfamr)
OGG demuxer (oggdmx)
Vorbis decoder (vorbisdec)
Theora decoder (theoradec)
MPEG-2 TS demuxer (m2tsdmx)
UDP/TCP input (sockin)
OpenSVC decoder (osvcdec)
VideoToolBox decoder (vtbdec)
MPEG-4 LASeR decoder (lsrdec)
SAF demuxer (safdmx)
MPEG-DASH and HLS client (dashin)
CENC decryptor (cdcrypt)
CENC encryptor (cecrypt)
ISOBMFF/QT muxer (mp4mx)
QCP reframer (rfqcp)
H263 reframer (rfh263)
M1V/M2V/M4V reframer (rfmpgvid)
NHNT reader (nhntr)
NHML parser (nhmlr)
AVC/HEVC reframer (rfnalu)
MPEG PS demuxer (m2psdmx)
AVI demuxer (avidmx)
Subtitle loader (txtin)
TTXT/TX3G decoder (ttxtdec)
WebVTT decoder (vttdec)
RTP/RTSP/SDP input (rtpin)
File output (fout)
Raw AAC to LATM writer (uflatm)
ADTS writer (ufadts)
Media Reframer (reframer)
Stream to file (writegen)
AVC/HEVC to AnnexB writer (ufnalu)
QCP writer (writeqcp)
WebVTT writer (writevtt)
NHNT writer (nhntw)
NHML writer (nhmlw)
VobSub demuxer (vobsubdmx)
AVI muxer (avimx)
Audio output (aout)
M4V writer (ufm4v)
Audio resampler (resample)
Video output (vout)
Video crop (vcrop)
Video flip (vflip)
RAW video reframer (rfrawvid)
PCM reframer (rfpcm)
JPG encoder (jpgenc)
PNG encoder (pngenc)
Audio/Video rewinder (rewind)
Sources concatenator (flist)
MPEG-2 TS muxer (m2tsmx)
DASH and HLS segmenter (dasher)
HEVC tile aggregator (tileagg)
pipe input (pin)
pipe output (pout)
GSF Muxer (gsfmx)
GSF Demuxer (gsfdmx)
UDP/TCP output (sockout)
AV1/IVF/VP9 reframer (rfav1)
IVF/OBU/annexB writer (ufobu)
ATSC input (atscin)
RTP Streamer (rtpout)
RTSP Server (rtspout)
HTTP Server (httpout)
HEVC tile spliter (hevcsplit)
HEVC Tile merger (hevcmerge)
FLAC reframer (rfflac)
ProRes reframer (rfprores)
MPEG Transport Stream splitter (tssplit)
FFMPEG demuxer (ffdmx)
FFMPEG decoder (ffdec)
FFMPEG AV Capture (ffavin)
FFMPEG video rescaler (ffsws)
FFMPEG encoder (ffenc)
FFMPEG muxer (ffmx)
FFMPEG AVFilter (ffavf)
JavaScript filter (jsf)
OpenHEVC decoder (ohevcdec)

Clone this wiki locally
You can’t perform that action at this time.