È passato un po' di tempo da quando ho fatto ricerche su WebRTC ma penso di poter rispondere a questa domanda.
WebRTC è un'Application Programming Interface (API) sviluppata dal W3C che è ancora in fase di sviluppo ed è standardizzata dal gruppo RTCWEB IETF (Rtcweb Status Pages).
Il suo obiettivo principale è di permettere la comunicazione peer-to-peer tra browser web. Questa comunicazione può essere utilizzata per trasferire diversi tipi di dati: file, video o audio. Tutto questo senza il bisogno di alcun plugin.
Ovviamente questo tipo di progetto solleva molti problemi che coinvolgono diverse aree, sicurezza, protocolli, codec multimediali ecc. Tuttavia, è in uno stato abbastanza avanzato e può essere utilizzato subito: AppRTC.
In questo momento Chrome e Firefox sono due dei browser che offrono pieno supporto WebRTC su PC.
Tecnicamente l'API è divisa in tre parti diverse:
- getUserMedia
- PeerConnection
- DataChannels
getUserMedia è una libreria JavaScript usata per accedere agli input multimediali del dispositivo attraverso il browser (microfono e/o webcam). Una volta che gli input sono consentiti, la libreria PeerConnection inizia una composizione per connettersi all'altro peer e concordare il metodo di trasferimento dei dati. I DataChannels permettono ad entrambi i browser di condividere i dati ottenuti in precedenza.
I gruppi di discussione hanno lavorato duramente per dare vita a questo progetto, passando attraverso molteplici problemi, ma sembra che presto rilascerà il suo pieno potenziale commerciale, dato che molte startup e aziende stanno iniziando ad usare questa API per il loro software.
WebRTC è parte di HTML5 .