Panoramica dei problemi relativi al video
L'effettuazione di una videochiamata comporta molti componenti e processi. I passaggi includono l'acquisizione del flusso video da un dispositivo videocamera, la codifica del browser, la decodifica del browser, il rendering video e così via. Se si verifica un problema in una di queste fasi, gli utenti potrebbero riscontrare problemi correlati ai video. Ad esempio, gli utenti potrebbero lamentarsi di non essere in grado di vedere il video o della scarsa qualità del video. Pertanto, la comprensione del flusso del contenuto video dal mittente al destinatario è fondamentale per il debug e la mitigazione dei problemi video.
Funzionamento di una videochiamata dal punto di vista end-to-end
In questo caso viene usata una chiamata di gruppo di Servizi di comunicazione di Azure come esempio.
Quando il mittente avvia il video in una chiamata, l'SDK recupera internamente il flusso video della videocamera tramite un'API del browser.
Dopo che l'SDK ha completato l'handshake a livello di segnalazione con il server, inizia a inviare il flusso video al server.
Il browser esegue la codifica video e la creazione di pacchetti al livello RTP (Real-Time Transport Protocol) per la trasmissione.
Gli altri partecipanti alla chiamata ricevono notifiche dal server, indicando la disponibilità di un flusso video dal mittente.
L'applicazione può decidere se sottoscrivere o meno il flusso video.
Se l'applicazione sottoscrive il flusso video dal server, ad esempio usando l'API createView
, il server inoltra i pacchetti video del mittente al destinatario.
Il browser del destinatario decodifica ed esegue il rendering del video in ingresso.
Quando si usa ACS Web Calling SDK per le videochiamate, l'SDK e il browser possono regolare la qualità video del mittente in base alla larghezza di banda disponibile. La regolazione può includere modifiche alla risoluzione, ai fotogrammi al secondo e alla velocità in bit di destinazione. Inoltre, l'overload della CPU sul lato mittente può anche influenzare la decisione del browser sulla risoluzione di destinazione per la codifica.
Problemi comuni nelle videochiamate
È possibile notare che l'intero processo implica fattori come il dispositivo videocamera del mittente. Anche le condizioni di rete del mittente e del destinatario svolgono un ruolo importante. La larghezza di banda e i pacchetti persi possono influire sulla qualità video percepita dagli utenti.
Ecco alcuni problemi video comuni, insieme a possibili cause per ogni problema:
L'utente non può visualizzare video dal partecipante remoto
- Il video del mittente non è disponibile quando l'utente lo sottoscrive
- Il video remoto non è più disponibile durante la sottoscrizione del video
- L'applicazione elimina il renderer video durante la sottoscrizione del video
- È stato raggiunto il numero massimo di sottoscrizioni video attive
- Il browser del mittente del video è in background
- Il mittente del video ha interrotto la chiamata in modo imprevisto
- Il mittente del video riscontra problemi di rete
- Il destinatario riscontra problemi di rete
- I fotogrammi vengono ricevuti ma non decodificati
L'utente vede solo video nero dal partecipante remoto
- Il browser del mittente del video è in background
L'utente sperimenta una qualità video scarsa
- Il mittente del video ha una connettività di rete scarsa
- Il destinatario ha una connettività di rete scarsa
- Carico elevato nell'ambiente del mittente o del destinatario del video
- Il destinatario sottoscrive più flussi video in ingresso