technologie Source WebRTC (Web Real-Time Communications), qui décrit le transfert de données audio, vidéo et de contenu entre navigateurs sans installer d'extensions supplémentaires, a reçu le statut de norme recommandée. Cela a été annoncé par le consortium W3C, qui développe et met en œuvre des normes technologiques pour Internet.
Toutes les normes du W3C sont examinées pour la prise en charge de l'accessibilité du contenu Web par l'APA (Accessible Platform Architectures Working Group). Ils sont directement liés à l'accessibilité du Web.
Entre autres, le comité IETF (Internet Engineering Task Force), qui s'occupe du développement des protocoles et de l'architecture Internet, documents publiés décrivant l'architecture, les éléments de protocole, les modes de transport et les mécanismes de correction des erreurs WebRTC. Toutes ces données ont reçu le statut «Norme proposée».
À propos de WebRTC
La technologie permet aux applications Web et aux sites de capturer et de transmettre de manière sélective des flux audio et vidéo, ainsi que d'échanger des données entre navigateurs sans recourir à des intermédiaires. C'est grâce à elle que nous pouvons appeler des collègues à distance sans avoir à installer de plugins et autres logiciels. Les applications construites sur la base de ce standard traitent le trafic voix et vidéo en temps réel en utilisant uniquement HTML et JavaScript. Google Meet, par exemple, et un certain nombre d'autres applications de conférence Web fonctionnent dessus.
La technologie WebRTC est développée par Google depuis 2009. En 2011, la société a ouvert ses développements et technologies de traitement audio et vidéo, obtenus lors de l'acquisition de GIPS, société développant des systèmes de traitement numérique du signal. Dans le même temps, Google a fourni un accès gratuit aux brevets liés au WebRTC.
WebRTC se compose de plusieurs interfaces de programmation (API) et protocoles interconnectés. Google a commencé son processus de standardisation technologique avec des entreprises telles que Mozilla, Microsoft, Cisco et Ericsson.
Soit dit en passant, WebRTC (comme HTML5) est devenu l'une des raisons de la «mort» de la technologie Flash. Depuis 2017, les principaux navigateurs ont officiellement cessé de prendre en charge Flash et la technologie a disparu du marché. Nous avons déjà écrit sur les conséquences dans le blog.
Maintenant, la technologie WebRTC se classe au deuxième rang des meilleurs protocoles de communication vidéo après le zoom propriétaire. Standard H.323, SIP, Microsoft Teams et Cisco Webex n'ont pas encore réussi.
WebRTC est utilisé dans les applications de vidéoconférence et audio, les jeux, les plates-formes de collaboration, les messageries instantanées, les systèmes de diffusion en continu et de distribution de contenu. C'est-à-dire qu'aujourd'hui, dans une pandémie mondiale, la technologie connaît sa plus belle heure.
Avantages de la norme
- Aucun logiciel ou plug-in requis.
- Utilisation de codecs audio et vidéo modernes; en conséquence - une communication de haute qualité.
- Connexions sécurisées et cryptées DTLS et STRP.
- Il existe un capteur de contenu intégré (démonstration de bureau)
- Flexibilité pour implémenter une interface de contrôle basée sur HTML5 et JavaScript.
- Open source.
- Polyvalence: une application standard fonctionne bien sur n'importe quel système d'exploitation tant que le navigateur prend en charge WebRTC.
Inconvénients de la norme
Pour certains, ces lacunes ne seront pas significatives, mais nous les soulignerons néanmoins.
- La norme ne prend pas en charge le contrôle de bureau à distance. Autrement dit, nous pouvons montrer une présentation ou un graphique à des collègues, mais nous ne pouvons pas travailler ensemble à l'élaboration d'un rapport annuel. Tout est pour la sécurité: le code Javascript ne peut rien contrôler en dehors de la fenêtre actuelle du navigateur. Pour les fonctionnalités avancées, vous devez utiliser des applications spécialement conçues.
- Les applications WebRTC sont incompatibles les unes avec les autres, c'est pourquoi nous ne pouvons pas appeler certains BigBlueButton depuis Google Meets. Mais peut-être que ce n'est pas nécessaire?
- Un autre inconvénient est que WebRTC détecte les adresses IP des utilisateurs. Proxy et Tor ne résoudront pas le problème, seuls les services VPN aideront à se cacher.
Fonctionnement technologique sur l'exemple d'un appel entre deux abonnés via un navigateur. La source
En quoi consiste WebRTC
Au niveau structurel, ce sont:
- systèmes de gestion des sessions utilisateurs;
- moteur de traitement du son: vous pouvez utiliser différents codecs et méthodes de suppression du bruit;
- moteur de traitement vidéo;
- couche de transport: pour le transfert de données, vous pouvez utiliser les protocoles DTLS et SRTP en conjonction avec des technologies d'organisation des canaux de communication P2P.
Comme nous l'avons écrit précédemment, vous pouvez utiliser les fonctionnalités WebRTC via une API JavaScript spécialement préparée. L'API comprend des interfaces telles que getUserMedia, RTCPeerConnection, RTCDataChannel et getStats.
L'interface getUserMedia est chargée de recevoir l'audio et la vidéo des appareils connectés tels qu'une webcam et un microphone ou un fichier. L'interface RTCPeerConnection est chargée d'établir une connexion entre les utilisateurs, de traiter les signaux et de protéger le canal de communication . RTCDataChannel aide à échanger des données pendant la conférence (en utilisant l'API WebSockets typique). Pour les statistiques, accédez à l'interface getStats .
Et après
Pour le moment, seules les parties de base de WebRTC sont standardisées. À quoi peut-on s'attendre dans la prochaine version de la norme?
- Une extension qui permettra au protocole QUIC d'être utilisé comme codec de transport et vidéo AV1.
- Une API WebTransport qui simplifie le streaming pour plusieurs destinataires.
- Codage vidéo évolutif API, qui adapte le flux vidéo à la bande passante du client.
- Chiffrement de bout en bout de la visioconférence.
- Traitement en direct des flux audio et vidéo, y compris à l'aide de systèmes d'apprentissage automatique.
- Outils pour établir un canal de communication permanent avec des appareils «intelligents».