DVB Errors & Troubleshooting
Transport stream error triage in one screen. The ETSI TR 101 290 priority levels, the thresholds worth memorizing, and the single question that separates a reception problem from a processing problem.
Work the priorities in order
π΄ 1st β de-codability
TS_sync_loss, Sync_byte_error, PAT_error, Continuity_count_error, PMT_error, PID_error.
If any of these fires, everything below it is unreliable. Fix here first.
π 2nd β continuous
Transport_error, CRC_error, PCR_repetition_error, PCR_discontinuity_indicator_error, PCR_accuracy_error, PTS_error, CAT_error.
It decodes, but something will become visible.
π‘ 3rd β application
NIT, SDT, EIT, TDT, RST errors, SI_repetition_error, Buffer_error, Unreferenced_PID.
Real, rarely urgent. Depends what you deliver.
Thresholds cheat sheet
| What | Limit | Indicator |
|---|---|---|
PAT on PID 0x0000 | at least every 0.5 s | PAT_error |
| PMT on its PAT-referenced PID | at least every 0.5 s | PMT_error |
| PCR interval | max 100 ms | PCR_repetition_error |
| PCR accuracy | Β±500 ns | PCR_accuracy_error |
| PTS interval | max 700 ms (not still pictures) | PTS_error |
| Referenced video/audio PID present | within 5 s | PID_error |
| PID referenced by a PMT | within 0.5 s | Unreferenced_PID |
SDT actual on 0x0011 | within 2 s | SDT_actual_error |
EIT present/following on 0x0012 | within 2 s | EIT_actual_error |
NIT actual on 0x0010 | within 10 s | NIT_actual_error |
TDT on 0x0014 | within 30 s | TDT_error |
Symptom β likely cause
| You see | Look at |
|---|---|
| Constant sync errors, healthy signal | Packet length assumption. 204 = 188 + 16 Reed-Solomon parity bytes. An analyzer set to the wrong length reports sync errors forever. |
| Nothing decodes at all | PAT_error. No PAT means no program is decodable, full stop. |
| One channel dead, others fine | PMT_error or PID_error for that service. |
| CC errors on every PID | Upstream β RF, demodulator, or the link. Nothing selective is happening. |
| CC errors on one PID | The multiplexer, a filter, or your own processing chain. |
| CC errors, perfect RF | Software or driver. Frontend signal polling can itself cause them. |
| Drifting lip sync, periodic stutter | PCR. Distinguish repetition from discontinuity from accuracy β different causes, different fixes. |
| Encrypted and unopenable | CAT_error. Scrambled packets present with no CAT means no EMM can be found. |
| Plays, but no channel name | SDT missing. Third priority β cosmetic, not fatal. |
| Plays, but no EPG | EIT missing or outside its repetition limits. |
| Stream fine, dashboard says SNR 0 | Your monitoring, not your stream. Verify the sensor before trusting it. |
Three traps worth knowing
Lose exactly 16, 32 or 48 packets and the counter lands where it would have anyway. Cheap check, not a guarantee.
The scrambling control field must be 00 for signalling. If tables are scrambled, nothing can be located.
Measuring SI_repetition_error or Unreferenced_PID needs the full multiplex. Request pids=all for a monitoring feed and budget the whole transponder bitrate.