How to Troubleshoot Transport Stream Issues with OpenEye MPEG-2 TS Analyzer
1. Prepare and capture the stream
- Source check: Confirm the stream source (encoder, capture card, file, or network multicast).
- Capture method: Save a capture of the problematic stream to a .ts file (or ensure the analyzer can receive the live feed).
- Timestamped sample: Capture at least 30–120 seconds covering the issue occurrence.
2. Load the stream into OpenEye MPEG-2 TS Analyzer
- Open the .ts file or connect the live input in the analyzer.
- Let the tool parse for PAT/PMT and PSI/SI tables and show basic stream structure.
3. Verify basic transport-stream structure
- PID map: Ensure expected PIDs (PAT PID 0, PMT PIDs, video/audio PIDs) are present.
- Continuity counters: Look for continuity counter discontinuities per PID (drops or repeats).
- PCR consistency: Check PCR PIDs exist and PCR intervals are within spec (PCR jitter, PCR discontinuities).
- Bitrate: Confirm instantaneous and average bitrates; bursts or underflows may indicate encoder or mux problems.
- Packetize: Verify correct packetization (188- or 204-byte packets) and no corrupt packet lengths.
4. Inspect PSI/SI and metadata
- PAT/PMT correctness: PAT should list program numbers and PMT PIDs; PMT must list stream types and elementary PIDs.
- PMT stream types: Ensure stream types match codec (e.g., H.264/AVC, MPEG-2 video, AAC/MP3 audio).
- Program/Service info: Check for duplicate program numbers or missing services.
5. Analyze PES and elementary streams
- PES headers: Look for missing or malformed PES headers causing decoder errors.
- PTS/DTS checks: Ensure PTS/DTS values are monotonic and not causing A/V drift or decoder buffer underflow/overflow.
- Frame pacing: Inspect video frame intervals for long gaps or duplicated frames.
6. Audio/video sync and A/V errors
- A/V sync (lip-sync): Compare PTS (audio) vs PTS (video); calculate offset and look for drift over time.
- Missing frames or audio dropouts: Correlate packet loss/continuity errors with media-level gaps.
7. Network-specific troubleshooting (for multicast/UDP/RTP)
- Packet loss patterns: Distinguish random loss vs burst loss; check NIC counters and switch/router logs.
- Jitter and reordering: Observe packet arrival jitter and sequence reordering.
- Multicast IGMP/TTL: Verify multicast group membership and TTL settings on network devices.
8. Common root causes & targeted fixes
- Encoder overload or misconfiguration: Reduce bitrate, correct GOP size, adjust buffer settings.
- Muxing errors: Regenerate transport stream with correct PAT/PMT and PID mapping.
- Network packet loss: Use FEC, improve network QoS, increase buffer sizes, or fix faulty hardware.
- PCR/PTS/DTS problems: Ensure encoder generates correct PCRs and timestamps; sync encoder clock or use PCR restamping at the mux.
- Continuity counter issues: Replace or update muxing software that mishandles counters.
9. Use analyzer’s alerts and timeline
- OpenEye’s timeline and alarm views (pat/pmt, continuity, PCR, PTS errors) help correlate errors with time.
- Export event logs and packet captures for deeper inspection or vendor support.
10. Validation after fixes
- Re-capture after applying fixes; compare before/after stats (continuity errors, PCR jitter, bitrate stability, PTS drift).
- Run extended monitoring to ensure intermittent issues are resolved.
Quick checklist (for immediate triage)
- PAT/PMT present and correct
- Expected PIDs present
- Continuity counters stable per PID
- PCR present and stable (low jitter)
- PTS/DTS monotonic and in-range
- No repeated/malformed packets
- Bitrate within expected bounds
- Network loss/jitter acceptable
If you want, provide a short sample .ts capture (30–60s) or the analyzer’s exported log and I’ll point to the specific faults and recommended fixes.
Leave a Reply