Analyzer¶
The built-in analyzer continuously checks and measures the active input of every stream. The results are used by several node subsystems: the validity verdict drives input switchover (Source redundancy), the metrics and charts are shown in the stream statistics window (Stream statistics), the summary badges — in the stream list, and violations raise alerts (Alerts (alerter)). Data from the analyzer decoder is used by the mosaic, by EPG import and by the subtitle decoder (Processing pipeline).
The basic checks and measurements are always enabled. The in-depth analyses are enabled by individual settings on the “Analyze” tab of the stream editor — each of them adds CPU load and is enabled only when required. The cumulative counters are cleared with the “Reset statistics” button in the statistics window.
Validity check¶
The input stream is checked in stages: TS synchronization lock, reception of the PAT and PMT tables, presence of PCR stamps, parsing of the audio and video tracks down to decoding a key frame. The result is displayed in the statistics window in the “MPEG-TS check” section — the individual TS, PAT, PMT, PCR, Audio, Audio ES, Video, Video ES attributes. The check is repeated at the stream check interval; an input is declared failed if the stream has not passed the check or if no data arrives for longer than the stream timeout — a switchover to the backup input is then performed (Source redundancy).
A scrambled transport is a valid state (SPTS streams): the transport and PSI layers continue to be checked, and once clear data appears the full analysis resumes automatically.
Continuous measurements¶
With no additional settings the analyzer measures:
Bitrate — the rate of the input stream (for SPTS, from the PCR stamps; for MPTS, against real time) and the output rate after the synchronizer; the “Bitrate” chart in the statistics window.
Bitrate per PID — the current rate and the number of packets per second for every PID of the active input; the table in the “Analyzer” block of the statistics window. The PID type is taken from the parsing of the stream tables (
PAT,PMT,video,aacand the like); the PID of the NULL packets (8191) is markedNULL, while a stream whose type could not be determined is marked with a dash. The measurement is for SPTS only: an MPTS stream has no such table with any multiplex source, and the composition and the rates of the programmes are shown by the multiplex table (Per-program analysis).Continuity and transport — continuity counter (CC) errors (windowed and cumulative), transport errors (TEI), scrambled packet counters; the “Continuity and scrambling” chart.
PCR interval — the average and maximum interval between PCR stamps. With the TR 101 290 monitor enabled the strict limit of 40 ms applies; without it, the ISO/IEC 13818-1 limit of 100 ms.
PCR jitter — the lag of the output scheduler behind the PCR pace; the “PCR jitter” chart.
PCR drift — the systematic departure of the source clock frequency from real time, in ppm. Unlike jitter, drift characterizes the stability of the encoder clock and accumulates over minutes; a reliable verdict is formed over a window of 300 seconds or longer. The ISO/IEC 13818-1 tolerance is ±30 ppm; a sustained excess is highlighted in the statistics window (“PCR drift”), separately from the TR 101 290 verdict: clock drift is a fault of the encoder on the source side, not of transport integrity.
PCR accuracy — the error of PCR stamp insertion relative to the actual moment of transmission; the TR 101 290 tolerance is ±500 ns. The metric is meaningful only for constant-bitrate streams (see the mode detector below).
Multiplex mode detector. The analyzer automatically classifies the source as CBR or VBR from the regularity of the PCR relative to the packet position; the verdict is latched with hysteresis to rule out frequent switching. A confident verdict is shown by a CBR or VBR badge in the stream list; while there is not enough data, no badge is shown. VBR is not a defect: it is a normal mode, in which the checks that are meaningful only for CBR (PCR accuracy, the T-STD video buffer) are automatically not evaluated.
In-depth analyses¶
Three independent analyses are enabled on the “Analyze” tab of the stream editor (all of them are disabled by default):
- “Deep analysis”
Switches the analyzer to the continuous stream parsing mode (noticeable CPU load) and adds:
the intervals of the PAT and PMT tables (recommendation — no more than 500 ms);
the intervals of key frames (GOP) and of IDR frames. For players that connect at an arbitrary moment, a GOP of no more than 1 second is recommended. If the IDR interval approximately matches the key frame interval, the stream has a closed-GOP structure — every GOP opens with a complete entry point; if the IDR metric is absent, the stream has an open-GOP structure;
the interval from PAT to a key frame — it determines how fast playback starts when a player connects at an arbitrary moment;
the video codec data sheet (stream type, profile and level, resolution, scan type, VBV parameters) and the parameters of the audio tracks;
ad insertion readiness data: GOP structure, random access indicators (RAI), SCTE-35 events and splice points. The advance notification threshold for a splice point is set by the “Notify of splice point in advance (frames)” setting (an advanced setting);
monitoring of the presence of the SI tables (SDT, EIT, NIT, TDT) and elementary stream structure errors.
- “Analyze PCR/PTS gap”
The spread between the PCR and the PTS/DTS stamps of each elementary stream. Too large a spread causes problems for players with a small synchronization buffer. In addition, the repetition interval of the video PTS stamps is measured (indicator 2.5 of the TR 101 290 report, limit 700 ms).
- “Analyze T-STD video buffer”
The T-STD reference decoder buffer model (ISO/IEC 13818-1): a check that the video buffer neither overflows nor underflows. MPEG-2, H.264/AVC and HEVC are supported; the leak rate adapts to the actual video bitrate. It is evaluated on constant-bitrate streams only.
The results are shown in the statistics window in the “Deep analysis” and “Analyzer” sections. The “Trace” and “MPEG-TS trace” settings enable verbose logging of the stream check — for diagnostics only; do not leave them permanently enabled.
TR 101 290 monitor¶
The “TR 101 290 monitor” setting (“Analyze” tab) enables continuous monitoring of the stream’s conformance to the ETSI TR 101 290 standard. The monitor is lightweight — it does not enable heavy elementary stream parsing — and works independently of the in-depth analyses.
The result is a single verdict for the stream: “OK”, “Problem” or “Checking…” while data is being accumulated. The verdict is shown by a colored TR-290 badge in the stream list and in the statistics window; clicking it opens the “TR 101 290” report — a table of indicators grouped by the priorities of the standard (priority 1 — required for decoding, priority 2 — recommended for monitoring, priority 3 — application-dependent), with the measured values and the limits.
Evaluation specifics:
A violation enters the verdict only when it is persistent (observed for at least 30 of the last 60 seconds) — short bursts do not light the indicator. The acceptance level is tracked separately: a violation lasting continuously for 300 seconds is the criterion for the technical acceptance of a channel.
Some indicators require additional analyses. Rows that depend on the “Analyze PCR/PTS gap” and “Analyze T-STD video buffer” settings are marked as disabled in the report when the setting is off and do not affect the verdict. The numeric PAT/PMT intervals and the monitoring of SI table presence are measured only with “Deep analysis” enabled — without it the corresponding rows remain without measured values.
PCR accuracy and the T-STD video buffer are evaluated only after the mode detector has confirmed a constant source bitrate — and they continue to be evaluated until the statistics are reset or the bitrate shaping settings are changed, even if the detector verdict changes later. On streams that have never been confirmed as CBR these rows are not evaluated.
With bitrate shaping active, the monitor measures the emitted, shaped stream (Bitrate control).
For an MPTS stream a single verdict is issued for the whole multiplex (Per-program analysis).
Persistent violations additionally raise alerts with analyzer codes — the full list is given in Alert code catalog. The monitor counters and the accumulated statistics are reset by the “Reset statistics” button.
Complaint assistant¶
If a channel has persistent TR 101 290 violations or PCR drift, the operator can obtain a ready-made prompt for an AI chat from which the chat will compose a formal letter of complaint to the stream provider. The request is made over the node HTTP API:
GET /data/stream/<id>/ai-complaint-prompt
The response is a text listing the active violations, the measured values, the limits of the standard and the impact of each error on the receiving decoder. The stream name, its identifiers and the source addresses are deliberately not included in the text — a placeholder is substituted for them, which the operator fills in themselves, so that service data is not passed to a third-party AI service. The function is available for SPTS streams only.