Le mode conventionnel de communication vocale et vidéo, ainsi que de transfert de données, est basé sur le modèle client-serveur. Il doit exister un serveur pour desservir les deux ou tous les périphériques communicants et les mettre en contact. La communication doit donc passer par un cloud ou une machine principale.
WebRTC change tout cela. Il apporte une communication à quelque chose qui se passe directement entre deux machines, qu'elles soient proches ou éloignées. En outre, cela fonctionne dans les navigateurs - pas besoin de télécharger et d'installer quoi que ce soit.
Qui est derrière WebRTC?
Une équipe de géants se cache derrière ce concept révolutionnaire. Google, Mozilla et Opera y travaillent déjà, alors que Microsoft a montré de l'intérêt, mais reste plutôt passif, affirmant qu'il entrera dans le jeu lorsque la chose aura été normalisée. En parlant de normalisation, l’IETF et le WWWC s’efforcent de le définir et de le transformer en norme. Il sera normalisé dans une API (Application Programming Interface) que les développeurs pourront utiliser pour créer de simples outils de communication pouvant être utilisés dans les navigateurs.
Pourquoi WebRTC?
Ce que l’on essaie de réaliser n’a été possible jusqu’à présent dans les grandes entreprises grâce à l’utilisation de frais de licence et de plugins propriétaires coûteux. Avec l'API WebRTC, toute personne possédant des connaissances de base en programmation sera en mesure de développer des outils robustes pour la communication vocale et vidéo, ainsi que des applications Web de données. Web RTC apportera plusieurs avantages, notamment:
- Les utilisateurs ne seront plus obligés de télécharger et d'installer des applications propriétaires. Ils doivent uniquement utiliser leurs navigateurs WebRTC.
- Une bande passante inférieure sera nécessaire car la distance parcourue pendant la communication sera réduite grâce à l'élimination des connexions serveur et cloud.
- En conséquence, il y aura moins de latence et une qualité audio et vidéo supérieure.
- Les données seront acheminées plus efficacement grâce à la technologie.
- Il n'y aura plus besoin de plugins comme Flash.
- Il sera plus facile de développer des outils de communication. Des éléments HTML5 natifs seront utilisés.
Obstacles rencontrés par WebRTC
Les équipes travaillant sur WebRTC doivent résoudre un certain nombre de problèmes pour obtenir des résultats concluants. Parmi eux figurent les suivants:
- Quel codec utiliser? Les joueurs ayant des intérêts différents, ils ne se sont pas encore mis d’accord sur l’utilisation des codecs H.264, VP8 ou autres.
- Étant donné que la technologie reposera sur les navigateurs, la compatibilité des navigateurs posera problème. Seuls Chrome, Firefox et Opera le prennent actuellement en charge. Le manque de navigateurs prenant en charge WebRTC sera préjudiciable.
- La norme n’est pas encore complètement définie, ce qui pose un problème d’adoption par les principaux acteurs.
Un exemple d'application WebRTC
Le Cube Slam de Google est un bon exemple d'application WebRTC. Il vous permet de jouer face à face avec votre ami distant, quelle que soit la distance qui vous sépare. Les graphiques du jeu sont rendus avec WebGL et la bande son s’ils sont transmis via l’audio Web. Vous pouvez jouer la même chose à cubeslam.com. Vous ne pouvez toutefois y jouer que sur votre ordinateur, car, à ce jour, la version mobile de Chrome ne prend pas encore en charge WebRTC. Ces jeux ont été conçus à la fois pour promouvoir Chrome et WebRTC. Aucun plug-in supplémentaire n'est requis pour jouer au jeu, pas même Flash, à condition bien sûr que vous disposiez de la dernière version de Chrome.
WebRTC pour les développeurs
WebRTC est un projet open source. L'API qui sera fournie pour les communications en temps réel (RTC) entre les navigateurs est en JavaScript simple.
Pour une compréhension plus approfondie de WebRTC, visionnez cette vidéo.