La tecnologia WebRTC è ormai uno standard, le sue API permettono di replicare funzionalità che negli anni precedenti erano appannaggio di client proprietari. Google, Microsoft, Mozilla e Opera hanno adottato questo set di API già da anni, cosi da poter operare liberamente senza la necessità di sfruttare client nativi.
WebRTC è un progetto in costante evoluzione, inoltre esistono da anni varie implementazioni open source volte ad estendere le sue funzionalità. Recentemente è stata presentata la nuova implementazione GStreamer WebRTC che va ad eliminare alcune problematiche nell'uso di WebRTC all'interno di applicazioni native, server application e device IoT.
Attualmente WebRTC è l'implementazione delle API di Real-Time Communications (RTC) più popolare e viene largamente utilizzata da tutti i principali browser web. Le Native API presentavano però numerosi difetti che impedivano a queste interfacce di essere impiegate al meglio su una vasta gamma di device e piattaforme.
Il team di Centricular si è occupato dello sviluppo di tale progetto, collaborando con Ericsson. Questa implementazione risulta essere perfettamente compatibile con le API di WebRTC.org e risolve diversi problemi che erano presenti nelle altre implementazioni già presenti in Rete.
GStreamer è un framework multimediale open source multipiattaforma ed è una delle soluzioni più flessibili per implementare un sistema multimediale su qualsiasi applicazione che abbia bisogno di riprodurre, registrare o trasformare dati multimediali su una vasta gamma di dispositivi e prodotti, inclusi i device embedded (IoT , infotainment a bordo del veicolo, telefoni, TV, ecc.), desktop (video/lettori musicali, registrazione video, editing non lineare, videoconferenza, client VoIP, browser, ecc.), server (codifica / transcode farms, video/server per conferenze telefoniche, ecc.) e altro.
La caratteristica principale che rende GStreamer uno dei progetti open source più gettonati per realizzare applicazioni multimediali è il suo modello basato su pipeline, che risolve uno dei problemi più difficili nella progettazione dell'API: soddisfare applicazioni di diversa complessità.
WebRTC è un set di specifiche che si basa su altre specifiche precedenti come: RTP, RTCP, SDP, DTLS, ICE ed RTC. Sostanzialmente definisce un'API per renderle accessibili tramite le interfacce JavaScript del browser. La vera innovazione di WebRTC è stata la creazione di un ponte tra applicazioni native e applicazioni Web, definendo un'API standard ma flessibile che i browser possono esporre a codice JavaScript non attendibile.
Con il diffondersi delle applicazioni Cloud based e delle Web application WebRTC è dunque diventato il nuovo standard per quanto riguarda le videochiamate e non solo.
Tuttavia negli anni WebRTC si è rivelata non proprio inadatta per lavorare con tutti i tipi di contenuti multimediali, sopratutto quando si opera direttamente con le applicazioni native. Per questo motivo in passato Ericsson iniziò a lavorare su OpenWebRTC, un implementazione basata sempre su GStreamer. Dopo poco tempo l'interesse nell'iniziativa iniziò a scemare.
Con l'arrivo di Centricular il progetto è riuscito a maturare, diventando un software pronto anche per gli ambienti di produzione.
Via GStreamer WebRTC