Telegram e WebRTC

Con l’introduzione delle videochiamate all’interno del client Telegram per iOS, si è iniziato a parlare sempre più spesso di WebRTC. Quindi abbiamo deciso di parlarvi di questa tecnologia e come questa può aprire le porte ad un evoluzione dell’applicazione Telegram, visto che la tecnologia WebRTC da la possibilità agli sviluppatori di realizzare cose molto interessanti.

Come al solito, prima di andare a vedere quello che può nascere dall’accoppiata Telegram e WebRTC, andiamo a scoprire insieme di che cosa si tratta.

Che cos’è WebRTC?

WebRTC è l’acronimo di Web Real Time Communications ed è una tecnologia Open Source che vide la luce per la prima volta il primo giugno del 2011, essa consente ai browser di effettuare videochat in tempo reale ed è basata su HTML5 e JavaScript. Quasi sin dagli inizi della sua nascita, questa tecnologia è stata introdotta nel World Wide Web Consortium (W3C) standard ed è supportata dai big del web come Google, Microsoft, Mozilla e Opera.

Questa tecnologia ad oggi è distribuita sotto la parziale licenza BSD e il codice si basa su prodotti di Global IP Solutions, azienda che oggi appartiene e fa parte del gruppo di aziende Google Inca.

WebRTC utilizza due codec audio, G.711 e Opus, ma anche due codec video VP8 e H.264
Per essere più specifici WebRTC supporta i codec G.711, G.722, iLBC (Internet Low Bitrate Codec – codec gratuito, narrow band con bitrate di 13,33 kbit/s), ISAC (wideband) e VP8.

Per farla semplice, WebRTC è uno standard per la trasmissione di audio in streaming, dati video e contenuti da applicazione ad applicazione (o browser) in tempo reale senza installare plugin o altre estensioni.

Architettura WebRTC

Architettura WebRTC

Funzioni di base che possono eseguite utilizzando WebRTC

Come avrete già notato, da moltissimi anni si parla di Web 2.0 e addirittura di Web 3.0, bene queste definizioni o nomi per meglio dire, hanno lo scopo di indicare come il web si sia evoluto oppure si sta evolvendo. Infatti, si sente parlare sempre di più del Web in tempo reale che apre l’accesso a tutta una serie di nuovi usi, tra cui screencasting, condivisione di file pesanti, giochi, video chat e altro ancora. Per fare tutto ciò spesso viene utilizzata questa tecnologia, però oltre a comunicare, il WebRTC può essere utilizzato per altri scopi:

  • marketing in tempo reale;
  • servizi di incontri;
  • consulti medici in linea;
  • servizi finanziari;
  • multiplayer games;
  • trasmissioni in diretta;
  • e-learning.

Vantaggi offerti agli sviluppatori da parte della tecnologia WebRTC

Questa tecnologia ha la capacita di regolare in modo automatico la qualità del flusso di dati in base alle condizioni delle connessioni. Questo significa che offre agli sviluppatori una serie di strumenti molto utili come:

  • Eco integrato e sistema di cancellazione del rumore.
  • I codec utilizzati forniscono una buona qualità di comunicazione.
  • La capacità di implementare qualsiasi elemento dell’interfaccia utilizzando HTML5 e JavaScript.
  • L’open source offre più opzioni per l’uso.
  • La capacità di implementare qualsiasi interfaccia di controllo basata su HTML5 e JavaScript.
  • La possibilità di integrare l’interfaccia con qualsiasi sistema di back-end utilizzando WebSocket.
  • Vero multipiattaforma: la stessa applicazione WebRTC funzionerà altrettanto bene su qualsiasi sistema operativo, desktop o mobile, a condizione che il browser supporti WebRTC.

API WebRTC 

La tecnologia WebRTC si basa su tre API principali:

  • MediaStream (responsabile dell’accettazione dei segnali audio e video dalle telecamere o dal desktop dell’utente dal browser web).
  • RTCPeerConnection (responsabile della connessione tra browser per lo “scambio” dei dati multimediali ricevuti dalla fotocamera, dal microfono e dal desktop. Inoltre, i “compiti” di questa API includono l’elaborazione del segnale (pulirlo da rumori estranei, regolazione del volume del microfono) e controllo sull’audio utilizzato e sui codec video).
  • RTCData Channel (fornisce la trasmissione bidirezionale dei dati su una connessione stabilita).

Telegram e WebRTC, cosa può significare questa accoppiata?

In queste utile settimane abbiamo capito che Telegram ha intenzione di utilizzare la tecnologia WebRTC per mettere a disposizione degli utenti mobile e desktop le videochiamate, chiamate video addirittura in HD. Però l’accoppiata Telegram e WebRTC potrebbe permettere all’ecosistema dell’aeroplanino di evolversi ancora di più, aggiungendo funzionalità che magari oggi sono solo un sogno, altre sono funzionalità presenti in altri progetti come Skype e altri ancora potrebbero essere un passo avanti rispetto alla concorrenza.

Ecco come il team di sviluppo dei vari client Telegram potrebbe usare WebRTC:

  • Funzione per la condivisione dello schermo
    Chi ha già utilizzato applicazioni come Skype e Zoom, sa che oltre alle normali videochiamate, è possibile condividere e fare visualizzare il proprio schermo, sia nelle chiamate one-to-one e anche nelle chiamate di gruppo. Provate ad immaginarvi l’introduzione di una funzionalità del genere in Telegram, semplificherebbe di molto la vita di chi oggi utilizza questa applicazione per il proprio business.
  • Accesso al dispositivo dell’interlocutore
    Attraverso WebRTC si potrebbe implementare la funzione che offre la possibilità di controllare a distanza il dispositivo del proprio interlocutore. Per fare un piccolo esempio: se mai venisse implementare una cosa del genere, Telegram potrebbe sostituire benissimo Team Viewer e progetti affini.
  • Trasmissioni in diretta attraverso i canali
    Se c’è una cosa che in molti chi hanno chiesto in questi anni, è se Telegram aveva intenzione non solo di permettere agli amministratore di un canale di inviare solo dei semplici videomessaggi, ma di fare delle vere e proprio dirette. A questa domanda abbiamo sempre risposto di no.
    Però quando abbiamo visto che per le videochiamate è stata scelta la libreria WebRTC abbiamo pensato che le sue potenzialità di di trasferire immagini e video in tempo reale, può semplificare la vita agli sviluppatori, aiutandoli a creare una funzione per contenuti audio e video in tempo reale che consenta la trasmissione di eventi, giochi, etc, etc in diretta attraverso un canale Telegram.
  • Cloud gaming
    Telegram ha una propria piattaforma per il gaming, anche se questa è abbastanza ferma con le quattro frecce, però WebRTC può essere quella risorsa utile a portare la piattaforma di gaming lanciata anni fa al livello successivo, cioè al p2p, multiplayer e latenza quasi zero nella trasmissione dei dati.

Conclusione

Insomma Telegram e WebRTC potrebbe essere l’accoppiata più interessante che abbiamo potuto vedere negli ultimi anni. Non solo questa accoppiata potrebbe aprire le porte ad un’evoluzione di tutto l’ecosistema Telegram con un sacco di funzionalità utili agli utenti normali, ma soprattutto a tutte quelle società che oggi hanno iniziato ad utilizzare questa applicazione per il proprio business. Diciamo che non sta a noi ricordare a Pavel Durov che in Italia ci sono comuni, regioni, squadre di calcio, testate giornalistiche, trasmissioni televisive e PMI che in questi anni hanno scelto di aprire un proprio canale. Quindi noi vogliamo dirgli che qualche idea interessante da mettere in pratica potremo offrirgliela ben volentieri.

Per il momento Telegram e WebRTC ci darà o meglio ci dà (visto che in questi giorni è già disponibile per alcune versioni in open beta) la possibilità di fare le videochimate, una richiesta e un desiderio della comunità vecchio ormai di 7 anni, si insomma da quando esiste questa applicazione. Speriamo che il team decida di utilizzare questa tecnologia per realizzare cose sempre più belle e interessanti.

Noi abbiamo finito, questa è la tecnologia WebRTC e queste sono le sue capacità. Adesso tocca a voi, lasciate un commento qui sotto con le vostre impressioni e su quello che potrebbe portare con se questa accoppiata.

Come al solito vi aspettiamo sul nostro canale ufficiale su Telegram, ma anche nel supergruppo InsideTelegramLab. Poi se avete qualche secondo per dirci la vostra su questo aggiornamento, vi aspettiamo qui sotto.

About the author

Blogger e Sviluppatore, appassionato sin da piccolo dell’informatica e di tutta la tecnologia. Tra i progetti realizzati: http://www.insidevcode.eu/ e http://androidos-lab.it

Add a Comment

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.