WebRTC - Panoramica

Il Web non è più estraneo alla comunicazione in tempo reale come WebRTC (Web Real-Time Communication)entra in gioco. Sebbene sia stato rilasciato nel maggio 2011, è ancora in fase di sviluppo e i suoi standard stanno cambiando. Una serie di protocolli è standardizzata dalla comunicazione in tempo reale nei browser WEB del gruppo di lavoro all'indirizzohttp://tools.ietf.org/wg/rtcweb/ del IETF (Internet Engineering Task Force)mentre i nuovi set di API sono standardizzati dal Web Real-Time Communications Working Groupe all'indirizzohttp://www.w3.org/2011/04/webrtc/ del W3C (World Wide Web Consortium). Con la comparsa di WebRTC, le moderne applicazioni web possono facilmente trasmettere contenuti audio e video a milioni di persone.

Schema di base

WebRTC consente di configurare connessioni peer-to-peer ad altri browser Web in modo rapido e semplice. Per creare un'applicazione di questo tipo da zero, è necessaria una vasta gamma di framework e librerie che si occupano di problemi tipici come la perdita di dati, l'interruzione della connessione e l'attraversamento NAT. Con WebRTC, tutto questo è integrato nel browser fuori dagli schemi. Questa tecnologia non necessita di plug-in o software di terze parti. È open-source e il suo codice sorgente è liberamente disponibile suhttp://www.webrtc.org/.

L'API WebRTC include l'acquisizione di contenuti multimediali, la codifica e la decodifica di audio e video, il livello di trasporto e la gestione delle sessioni.

Acquisizione multimediale

Il primo passo è ottenere l'accesso alla fotocamera e al microfono del dispositivo dell'utente. Rileviamo il tipo di dispositivi disponibili, otteniamo l'autorizzazione dell'utente per accedere a questi dispositivi e gestire lo streaming.

Codifica e decodifica di audio e video

Non è un compito facile inviare un flusso di dati audio e video su Internet. Qui è dove vengono utilizzate la codifica e la decodifica. Questo è il processo di suddivisione dei fotogrammi video e delle onde audio in blocchi più piccoli e della loro compressione. Questo algoritmo è chiamatocodec. Esiste un'enorme quantità di codec diversi, gestiti da società diverse con obiettivi di business diversi. Ci sono anche molti codec all'interno di WebRTC come H.264, iSAC, Opus e VP8. Quando due browser si connettono insieme, scelgono il codec supportato più ottimale tra due utenti. Fortunatamente, WebRTC esegue la maggior parte della codifica dietro le quinte.

Livello di trasporto

Il livello di trasporto gestisce l'ordine dei pacchetti, gestisce la perdita di pacchetti e si connette ad altri utenti. Anche in questo caso l'API WebRTC ci dà un facile accesso agli eventi che ci dicono quando ci sono problemi con la connessione.

Gestione delle sessioni

La gestione delle sessioni si occupa di gestire, aprire e organizzare le connessioni. Questo è comunemente chiamatosignaling. Se trasferisci flussi audio e video all'utente, ha senso trasferire anche i dati collaterali. Questo viene fatto daRTCDataChannel API.

Gli ingegneri di aziende come Google, Mozilla, Opera e altri hanno fatto un ottimo lavoro per portare questa esperienza in tempo reale sul Web.

Compatibilità del browser

Gli standard WebRTC sono uno dei più in rapida evoluzione sul web, quindi non significa che ogni browser supporti tutte le stesse funzionalità contemporaneamente. Per verificare se il tuo browser supporta WebRTC o meno, puoi visitarehttp://caniuse.com/#feat=rtcpeerconnection. In tutti i tutorial, ti consiglio di utilizzare Chrome per tutti gli esempi.

Provando WebRTC

Iniziamo subito a utilizzare WebRTC. Navigare con il browser sul sito demo all'indirizzohttps://apprtc.appspot.com/

Fare clic sul pulsante "PARTECIPA". Dovresti vedere una notifica a discesa.

Fare clic sul pulsante "Consenti" per avviare lo streaming del video e dell'audio sulla pagina web. Dovresti vedere un flusso video di te stesso.

Ora apri l'URL in cui ti trovi attualmente in una nuova scheda del browser e fai clic su "ISCRIVITI". Dovresti vedere due flussi video: uno dal tuo primo client e un altro dal secondo.

Ora dovresti capire perché WebRTC è uno strumento potente.

Casi d'uso

Il Web in tempo reale apre le porte a una gamma completamente nuova di applicazioni, tra cui chat di testo, condivisione di schermo e file, giochi, chat video e altro ancora. Oltre alla comunicazione puoi utilizzare WebRTC per altri scopi come:

  • marketing in tempo reale
  • pubblicità in tempo reale
  • comunicazioni di back office (CRM, ERP, SCM, FFM)
  • Gestione delle risorse umane
  • social networking
  • servizi di incontri
  • consulti medici in linea
  • servizi finanziari
  • surveillance
  • giochi multiplayer
  • trasmissione in diretta
  • e-learning

Sommario

Ora dovresti avere una chiara comprensione del termine WebRTC. Dovresti anche avere un'idea di quali tipi di applicazioni possono essere create con WebRTC, poiché l'hai già provato nel tuo browser. Per riassumere, WebRTC è una tecnologia abbastanza utile.