Depuis 2011, le projet WebRTC a connu des hauts et des bas pour venir à bout de la communication en temps réel depuis un navigateur. Des outils ont été remplacés au profit de nouveaux outils plus performants, qu’il s’agisse d’outils pour traverser les couches de NAT, d’outils pour compresser les flux de données ou tout simplement des outils pour rendre la tâche des développeurs plus facile.

Trickle ICE

Nous savons que l’ICE est une méthode utilisée pour permettre la connexion de deux utilisateurs. Il a pour rôle de rassembler les candidats disponibles, c’est-à-dire les adresses IP, adresses relayées ou réfléchies, et de vérifier ensuite la connectivité jusqu’à ce qu’un chemin de connexion soit trouvé. C’est un processus qui nécessite du temps.

En général, l’ICE met environ 10 secondes pour effectuer ses tâches. Afin de remédier à cette latence, un nouveau mécanisme a été ajouté : Trickle ICE. Cette nouvelle méthode permet d’envoyer des candidats à vérifier sans attendre la collection de tous les autres candidats.

Unified plan

Pour pouvoir envoyer une vidéo et partager l’écran, il convient de signaler les sources multimédia. Le nouveau mécanisme choisi dans le cadre du WebRTC est le « Unified Plan ». Il remplace le « Plan B ».

Les outils de compression

Parce que les fichiers audio et vidéo bruts sont trop volumineux, ils nécessitent une compression. Voici donc de nouveaux codecs multimédia plus performants :

a)     VP9

Développé par Google, le codec vidéo VP9 assure la réduction du débit binaire des transmissions vidéo de 50 % sans que la qualité des images soit mise en péril. Il propose alors des améliorations par rapport à son prédécesseur VP8. Il est le principal concurrent du codec H.265.

b)     AV1

Créé par l’Alliance for Open Media, l’AV1 est un codec vidéo qui compte prendre la place du VP9. Il est libre de droits et propose de meilleures fonctionnalités. Avec ce codec, les médias compressés n’occupent pas trop d’espace de stockage et ils ne nécessitent pas non plus trop de bande passante.

c)      Opus

C’est un nouveau codec vocal qui doit impérativement être implémenté dans le WebRTC. Il se distingue par sa capacité à supporter en « narrowband » (bande étroite) et en « wideband » tout en utilisant du faible débit. Il est défini dans le RFC 6716 de l’IETF.

Les extensions

Afin d’aider les développeurs dans l’amélioration de leurs applications sous WebRTC, les navigateurs comme Firefox et Google Chrome proposent des extensions :

a)     Prevent WebRTC leaks

Il s’agit d’une extension officielle qui aide à prévenir les fuites WebRTC, et ce, en contrôlant les paramètres de confidentialité masqués du WebRTC. Elle est compatible avec les nouvelles versions Chrome.

b)     DevTools panel

C’est un outil dédié aux développeurs afin de leur aider à comprendre les problèmes de lecture des médias. Il fournit donc des détails techniques sur l’état actuel de la lecture ainsi que sur chaque  PeerConnection et GUM.