Skip to main content

Validation rules

The application organizes its validation rules into four rule types so you can understand whether a failure comes from packet structure, stream meaning, timing behavior, or relationships across layers.

Validation types

Test types​

🏢 Structural tests​

Structural rules verify framing, packet syntax, required fields, and low-level integrity so the transport stream and carried metadata can be parsed reliably.

🧠 Semantic tests​

Semantic rules verify that the decoded content makes sense, such as required fields being present or referenced streams actually existing in the transport.

🕒 Temporal tests​

Temporal rules verify cadence, recurrence, monotonicity, and rate over time across MPEG-TS and KLV timelines.

📚 Cross-Layer tests​

Cross-Layer rules compare information from more than one layer, such as transport timing, PES timing, and metadata timestamps, to detect drift or alignment errors that are invisible within a single layer.

⚙️ Validation rules configuration​

Select Validation rules in the menu to configure which tests are active during inspection.
Use this page to review and adjust the enabled rules separately for the two main validation groups:

  • MPEG-TS tests for transport-stream structure, signaling, timing, and cross-layer timing checks
  • KLV tests for metadata packet structure, required fields, timing behavior, and stream-to-metadata alignment

You can use the page to select only the specific tests you want the application to run for each group. This is useful when you want to focus on a narrower validation scope, compare rule sets, or temporarily disable checks that are not relevant to the current file or workflow.

Validation rules

🎬 MPEG-TS​

The MPEG-TS rules focus on transport framing, PSI signaling, packet cadence, and timing relationships inside the transport stream.

Structural rules in MPEG-TS​

Sync Byte​

Confirms MPEG-TS packet alignment by finding 0x47 sync bytes at a consistent 188- or 204-byte spacing and resynchronizing after corruption.

Detailed page: Sync Byte

Continuity Counter​

Checks the transport-stream continuity counter so lost, duplicated, or reordered packets can be detected on a PID.

Detailed page: Continuity Counter

Transport Error Indicator​

Reports MPEG-TS packets whose transport error indicator bit is set, signaling corrupted transport data.

Detailed page: Transport Error Indicator

PSI Tables​

Validates that Program Specific Information tables can be found and used to discover programs and their metadata inside the transport stream.

Detailed page: PSI Tables

PSI Tables CRC​

Validates that PSI table sections with CRC32 fields pass their CRC check during MPEG-TS demux.

Detailed page: PSI Tables CRC

PES Length Validation​

Checks that PES_packet_length matches the observed PES packet payload size.

Detailed page: PES Length Validation

Metadata Access Unit Length Validation​

Checks wrapped KLV metadata cell lengths, fragmented access units, and KLV packet boundaries independently of the outer PES length. It applies to synchronous KLV and to asynchronous KLV that retains the AU wrapper; ordinary RP 217 KLV is excluded.

Detailed page: Metadata Access Unit Length Validation

Semantic rules in MPEG-TS​

PMT Referencing Non-existing Streams​

Checks that every elementary PID declared in the PMT is backed by packets that are actually present in the stream.

Detailed page: PMT Referencing Non-existing Streams

Reserved PID Usage​

Checks that PAT and PMT declarations do not assign PMT, PCR, or elementary streams to reserved MPEG-TS PIDs.

Detailed page: Reserved PID Usage

Temporal rules in MPEG-TS​

PAT Interval​

Checks that Program Association Table packets recur within the configured profile interval.

Detailed page: PAT Interval

PMT Interval​

Checks that Program Map Table packets recur within the expected maximum interval.

Detailed page: PMT Interval

Duplicate Packet Detection​

Detects consecutive duplicate MPEG-TS packets when the same PID, continuity counter, and payload appear twice.

Detailed page: Duplicate Packet Detection

PCR Monotonicity​

Checks that Program Clock Reference values increase monotonically on the PMT-declared PCR PID.

Detailed page: PCR Monotonicity

PCR Interval​

Checks that Program Clock Reference values appear within the selected MPEG-TS profile interval.

Detailed page: PCR Interval

Max PTS Interval​

Detects PES streams whose PTS repetition period exceeds the ETSI TR 101-290 guideline threshold.

Detailed page: Max PTS Interval

Capture Inter-arrival Jitter​

Uses PCAP/PCAPNG packet timestamps to detect excessive selected-stream UDP packet arrival jitter. This rule is not applicable to plain MPEG-TS files.

Detailed page: Capture Inter-arrival Jitter

Capture Gap Detection​

Uses PCAP/PCAPNG packet timestamps to detect long missing-arrival gaps in the selected MPEG-TS-over-UDP stream. This rule is not applicable to plain MPEG-TS files.

Detailed page: Capture Gap Detection

Dropped Packet Statistics​

Checks PCAPNG interface statistics for reported packet drops. This rule is not applicable to plain MPEG-TS files or captures without PCAPNG Interface Statistics Blocks.

Detailed page: Dropped Packet Statistics

PTS/DTS Monotonicity​

Checks that PES presentation and decode timestamps do not move backward on the same PID, except where B-frame ordering allows it.

Detailed page: PTS/DTS Monotonicity

Cross-Layer rules in MPEG-TS​

PCR-PTS Drift​

Detects slow drift between the video timing timeline and an interpolated continuous PCR timeline after subtracting the per-stream baseline offset.

Detailed page: PCR-PTS Drift

PCR-PTS-KLV Span Consistency​

Compares the complete stream PCR span with applicable PTS spans and every KLV PID's first-to-last MISB precision-timestamp span. Synchronous KLV shows paired PTS and KLV timelines; asynchronous KLV uses only KLV timestamps. Shorter or unavailable KLV coverage is a warning because KLV insertion is optional; KLV time running backward or extending beyond PCR tolerance is an error.

Detailed page: PCR-PTS-KLV Span Consistency

PCR vs Capture Arrival Drift​

Compares MPEG-TS PCR progression with PCAP/PCAPNG capture-arrival progression after removing the initial offset between the two clocks. This rule is not applicable to plain MPEG-TS files.

Detailed page: PCR vs Capture Arrival Drift

📡KLV​

The KLV rules focus on MISB ST 0601 packets carried inside the stream, including packet structure, required tag usage, timing behavior, and alignment with transport timing.

Structural rules in KLV​

Universal Key​

Checks that each declared KLV stream contains at least one decodable MISB ST 0601 packet with the expected universal key.

Detailed page: Universal Key

Checksum​

Validates checksum fields when they are present in MISB ST 0601 packets.

Detailed page: Checksum

Raw KLV Decode​

Checks that KLV payload buffers form complete packets that can be decoded into raw KLV items.

Detailed page: Raw KLV Decode

MISB KLV Decode​

Checks that raw-decoded MISB ST 0601 packets also decode successfully through the MISB ST 0601 field decoder.

Detailed page: MISB KLV Decode

Revision Detect​

Checks that MISB ST 0601 Tag 65 resolves to a known revision for each decodable packet.

Detailed page: Revision Detect

Field Decode​

Checks that known MISB ST 0601 fields decode successfully according to their field-specific codec.

Detailed page: Field Decode

Field Encode​

Checks that decoded MISB ST 0601 field values re-encode within schema constraints such as UTF-8 validity and field length limits.

Detailed page: Field Encode

Security Local Set Decode​

Checks that MISB ST 0102 security metadata carried in MISB ST 0601 Tag 48 decodes as a valid BER-tagged local set.

Detailed page: Security Local Set Decode

Security Metadata Revision Detect​

Checks that each MISB ST 0102 security local set resolves to a known revision, with explicit revision 3 fallback when Tag 22 is absent.

Detailed page: Security Metadata Revision Detect

Security Metadata Required Tags​

Checks that each MISB ST 0102 security local set contains the required tags for its resolved revision.

Detailed page: Security Metadata Required Tags

Security Metadata Unknown Tag for Revision​

Detects MISB ST 0102 tags that are not defined for the resolved security metadata revision.

Detailed page: Security Metadata Unknown Tag for Revision

Security Metadata Field Decode​

Checks that known MISB ST 0102 field values can be decoded successfully according to their tag-specific field codec.

Detailed page: Security Metadata Field Decode

VMTI Local Set Decode​

Checks that MISB ST 0903 VMTI local sets carried in MISB ST 0601 Tag 74 decode as valid BER-tagged local sets.

Detailed page: VMTI Local Set Decode

VMTI Revision Detect​

Checks that MISB ST 0903 Tag 4 resolves to a known VMTI revision.

Detailed page: VMTI Revision Detect

VMTI Unknown Tag for Revision​

Detects MISB ST 0903 VMTI local sets whose root tags are not defined for the resolved revision.

Detailed page: VMTI Unknown Tag for Revision

VMTI Field Decode​

Checks that known MISB ST 0903 root-field values can be decoded successfully according to their field codec.

Detailed page: VMTI Field Decode

Semantic rules in KLV​

Mandatory Fields​

Checks that MISB ST 0601 packets contain Tag 2, Tag 65, and Tag 1, with Tag 2 first and Tag 1 last.

Detailed page: Mandatory Fields

Field Dependencies​

Checks MISB ST 0601 geospatial, country-code, SDCC, and payload-list dependencies for internal consistency.

Detailed page: Field Dependencies

Field Plausibility​

Warns on suspicious but technically decodable MISB ST 0601 values such as placeholder coordinates and empty operational strings.

Detailed page: Field Plausibility

Duplicate Tags in One Packet​

Detects duplicate MISB ST 0601 tags within a single packet.

Detailed page: Duplicate Tags in One Packet

Unknown Tag for Revision​

Detects MISB ST 0601 packets whose highest observed tag exceeds the highest tag allowed by the packet revision declared in Tag 65.

Detailed page: Unknown Tag for Revision

Security Metadata Duplicate Tags​

Detects duplicate MISB ST 0102 tags within a single security local set carried in MISB ST 0601 Tag 48.

Detailed page: Security Metadata Duplicate Tags

Security Metadata Field Dependencies​

Checks MISB ST 0102 coding-method dependencies between classifying-country and object-country fields.

Detailed page: Security Metadata Field Dependencies

VMTI Duplicate Tags​

Detects duplicate MISB ST 0903 root tags within a single VMTI local set.

Detailed page: VMTI Duplicate Tags

VMTI Field Dependencies​

Checks MISB ST 0903 target counts, frame dimensions, references, and tracker timestamps for internal consistency.

Detailed page: VMTI Field Dependencies

MISMMS​

Checks that KLV metadata includes all required MISMMS (Mission Summary) fields, with correct formatting and no duplicates or conflicts, as per STANAG 4609/MISB requirements.

Detailed page: MISMMS

MISMMS/ST0601 Packet Identity​

Checks that the claimed MISMMS stream is carried in decodable MISB ST 0601 KLV packets with the expected ST 0601 universal label.

Detailed page: MISMMS/ST0601 Packet Identity

KLV Packet Integrity​

Checks BER length, packet completeness, and checksum correctness for claimed MISMMS packets.

Detailed page: KLV Packet Integrity

Per-packet ST 0601 Core Items​

Checks that each claimed MISMMS packet carries Tag 2, Tag 65, and Tag 1, with Tag 2 first and Tag 1 last.

Detailed page: Per-packet ST 0601 Core Items

Top-level Field Length/Type Conformance​

Checks that top-level MISMMS items present in the stream conform to the MISB ST 0902 Table 1 length and type requirements.

Detailed page: Top-level Field Length/Type Conformance

No ZLI Credit​

Checks for top-level Zero-Length Items (ZLI) that cannot be used to satisfy MISB ST 0902 minimum reporting requirements.

Detailed page: No ZLI Credit

Required Top-level Item Set​

Checks that the claimed MISMMS stream reports the required non-conditional top-level MISB ST 0902 items somewhere in the stream.

Detailed page: Required Top-level Item Set

Inclusive-OR Groups​

Checks that the claimed MISMMS stream reports at least one member from each MISB ST 0902 inclusive-OR metadata group.

Detailed page: Inclusive-OR Groups

Exclusive-OR Height Rule​

Checks that a claimed MISMMS packet does not carry both Tag 75 and Tag 104 in the same packet.

Detailed page: Exclusive-OR Height Rule

Motion Imagery Core Identifier Present​

Checks that the claimed MISMMS stream reports Tag 94 and that every observed Tag 94 payload is a valid MISB ST 1204 core identifier no longer than 50 bytes.

Detailed page: Motion Imagery Core Identifier Present

Temporal rules in KLV​

Timestamp Monotonicity​

Checks that MISB ST 0601 Tag 2 Precision Time Stamp values increase strictly without backward jumps.

Detailed page: Timestamp Monotonicity

30-second Reporting Continuity​

Checks that every required MISMMS item, inclusive-OR group, and Tag 94 is reported at least once every 30 seconds using Tag 2 timestamps.

Detailed page: 30-second Reporting Continuity

30-second Continuity Excluding ZLI​

Checks the same 30-second MISMMS continuity requirement after ignoring Zero-Length Item occurrences.

Detailed page: 30-second Continuity Excluding ZLI

MISMMS Tag 2 Monotonicity​

Checks that claimed MISMMS Tag 2 Precision Time Stamp values increase monotonically so the reporting timeline stays trustworthy.

Detailed page: MISMMS Tag 2 Monotonicity

Advisory 10-second Constant-item Cadence​

Warns when constant MISMMS items such as Tags 3, 10, 11, 12, and 94 are not refreshed within 10 seconds.

Detailed page: Advisory 10-second Constant-item Cadence

Packet Rate Consistency​

Checks that decoded MISB ST 0601 packet rate stays within the configured packets-per-second range over time.

Detailed page: Packet Rate Consistency

Cross-Layer rules in KLV​

KLV Type​

Checks that declared ASYNC_KLV streams do not carry PES PTS values and declared SYNC_KLV streams do.

Detailed page: KLV Type

Stream vs KLV Drift​

Checks that PCR, PES PTS when present, and normalized MISB ST 0601 Tag 2 time stay aligned without excessive drift.

Detailed page: Stream vs KLV Drift

Embedded VMTI Parent Metadata​

Checks that MISB ST 0601 packets carrying embedded MISB ST 0903 VMTI in Tag 74 also carry Tag 2, Tag 23, and Tag 24 on the parent packet.

Detailed page: Embedded VMTI Parent Metadata (MISB ST 0903)

MISMMS Embedded VMTI Parent Metadata​

Checks that claimed MISMMS packets carrying embedded MISB ST 0903 VMTI in Tag 74 also preserve Tag 2, Tag 23, and Tag 24 on the parent packet.

Detailed page: Embedded VMTI Parent Metadata (MISB ST 0902)