Timebase dei Media Indeterminato: Perché il Jitter Rompe lo Streaming in Tempo Reale e Come Risolverlo
Nelle reti a commutazione di pacchetti, i pacchetti media arrivano con spaziature imprevedibili — questo è un timebase indeterminato. È la causa radice di deriva labiale, fotogrammi congelati e audio robotico.
Da Dove Proviene
- Ritardo di coda in router congesti (ms–secondi).
- Flapping di route / bilanciamento carico tra percorsi.
- Contenzione Wi-Fi (CSMA/CA backoff).
- Variabilità bitrate encoder (VBR).
Conseguenze
| Sintomo | Causa Radice |
|---|---|
| Video congelato / macroblocco | Underrun buffer decodificatore |
| Click audio / voce robot | Starvation buffer riproduzione |
| Deriva AV | Orologi audio/video indipendenti + jitter rete |
| Latenza alta | Jitter buffer sovradimensionato per garantire continuità |
Stack di Mitigazione (Difesa a Strati)
- QoS di Rete: DSCP EF (46) per RTP, code priorità, shaping traffico.
- Trasporto: RTP/RTCP su UDP; report Sender/Receiver RTCP per sync NTP.
- Jitter Buffer: Adattivo (WebRTC: target 30–200 ms, min 10 ms).
- Concealment: PLC (audio), ripetizione fotogramma / FEC (video).
- Sync Orologio: NTP (ms) → PTP/IEEE 1588 (µs) → gPTP (TSN) per pro AV.
- Bitrate Adattivo: DASH/HLS/WEBRTC-SVC – drop layer prima che il buffer si svuoti.
- Correzione Errori in Avanti: parità XOR (payload RTP) o RaptorQ (applicazione).
Standard Moderni
- WebRTC: GCC (Google Congestion Control) + NetEQ jitter buffer.
- SRT: ARQ ritrasmissione + latenza configurabile (predefinito 120 ms).
- RIST: Profili Main/Simple, SMPTE 2022-7 merge hitless.
- CMAF Low Latency: Chunked transfer encoding (CTE) + durata segmento 1–2 s.
Regola di Progettazione
Assumi che la rete violerà il tuo budget di timing. Costruisci pipeline che degradano con grazia (artefatto → congelato → muto) piuttosto che crashare.