1 of 24

2 of 24

Web RTC�(Web Real Time Communication)��

Par KONJOH SELABI Elvis Gerardin

Développeur à Afreetech(afreetech.com)

Tel: 76112285/95090007

Email : selabielvis@gdg-yaounde.org

3 of 24

Plan

  • Historique
  • Concepts
  • Exemple
  • Sécurité
  • Norme et protocole
  • Conclusion

4 of 24

Citation

WebRTC est un nouveau front dans la longue guerre pour un Web ouvert et sans entraves.�Brendan Eich , l'inventeur du JavaScript

5 of 24

I- Historique

  • L'un des derniers grands défis pour le web est de permettre la communication humaine via la voix et de la vidéo: Real Time Communication, RTC pour faire court. RTC doit être aussi naturelle dans une application web que vous entrez du texte dans un champ de texte. Sans elle, nous sommes limités dans notre capacité à innover et à développer de nouvelles façons pour les gens d'interagir.
  • Historiquement, le RTC a été entreprise et complexe, nécessitant des technologies audio et vidéo coûteux pour être agréés ou développés en interne. Intégration de la technologie RTC avec le contenu existant, les données et les services a été difficile et prend du temps, en particulier sur le web.
  • Gmail vidéo chat est devenu populaire en 2008, et en 2011, Google a introduit Hangouts, qui utilisent le service Google Talk (comme le fait Gmail)

6 of 24

7 of 24

II- Concepts

Prérequis: gestion de son et de l’audio en Html5.

WebRTC met en œuvre trois API:

  • MediaStream (de getUserMedia)

  • RTCPeerConnection

  • RTCDataChannel

8 of 24

9 of 24

II-1 MediaStream

  • L' API MediaStream représente flux synchronisés des médias. Par exemple, un flux prise de la caméra et l'entrée microphone est synchronisé pistes vidéo et audio. Qui se base sur le getUserMedia ();
  • La méthode getUserMedia () prend trois paramètres:
  • Un objet de contraintes .
  • Un rappel de réussite qui, si elle est appelée, est passé à un MediaStream.
  • Un rappel d'échec qui, si elle est appelée, est passé à un objet d'erreur.

10 of 24

II-1 MediaStream (Suite)

  • getUserMedia () combine trois(03) Apis:
  • Webcam Toy est une application qui utilise WebGL photobooth pour ajouter des effets étranges et merveilleux à des photos qui peuvent être partagés ou sauvegardés localement.
  • FaceKat est un jeu de « suivi du visage» construit avec headtrackr.js .
  • Caméra ASCII utilise l'API Canvas pour générer des images ASCII.

11 of 24

Exemple d’image ASCII

12 of 24

II-2 RTCPeerConnection

  • RTCPeerConnection est le composant du WebRTC qui gère la communication stable et efficace des flux de données entre pairs.

13 of 24

Voici un schéma d'architecture WebRTC montrant le rôle de RTCPeerConnection

14 of 24

Explication

  • Les codecs et protocoles utilisés par WebRTC font une énorme quantité de travail à faire de la communication en temps réel possible, même sur des réseaux non fiables:
  • la dissimulation de perte de paquets
  • annulation d'écho
  • l'adaptabilité de la bande passante
  • tampon dynamique des tremblements
  • contrôle automatique du gain
  • la réduction et suppression du bruit
  • nettoyage de l’image.

15 of 24

RTCPeerConnection plus les serveurs

16 of 24

II-3 RTCDataChannel

  • L'API de RTCDataChannel permet l'échange peer-to-peer de données arbitraires, avec une faible latence et un débit élevé.
  • Il existe de nombreux cas d'utilisation potentiels pour l'API, y compris:
  • Gaming
  • Applications de bureau à distance
  • Chat text en temps réel
  • Le transfert de fichiers
  • Les réseaux décentralisés

17 of 24

  • L'API a plusieurs fonctionnalités pour profiter au maximum de RTCPeerConnection et permettre une communication puissante et flexible peer-to-peer:

  • Tirer parti de la configuration de session RTCPeerConnection.
  • Canaux simultanés multiples, avec des priorités.
  • Sémantique de livraison fiables et peu fiables.
  • La sécurité intégrée (DTLS) et le contrôle de congestion.
  • Aptitude à utiliser avec ou sans audio ou vidéo

18 of 24

III-Exemple

Lien

19 of 24

IV- Sécurité

WebRTC a plusieurs caractéristiques pour gérer le securité: Implémentations WebRTC utilisent des protocoles sécurisés tels que DTLS et SRTP .

  • Le chiffrement est obligatoire pour tous les composants WebRTC, y compris les mécanismes de signalisation.
  • WebRTC n'est pas un plugin: ses composants s'exécutent dans le sandbox du navigateur et non dans un processus séparé, les composants ne nécessitent pas d'installation séparée, et sont mis à jour chaque fois que le navigateur est à jour.
  • Caméra et un microphone accès doit être accordé de façon explicite et, lorsque la caméra ou le microphone sont en cours d'exécution, cela est clairement indiqué par l'interface utilisateur.

20 of 24

21 of 24

V- Protocoles

22 of 24

VI- Conclusion

  • Les API et les normes de WebRTC peuvent démocratiser et décentraliser les outils de création de contenu et de communication pour la téléphonie, les jeux, la production vidéo, faire de la musique, la collecte de nouvelles et de nombreuses autres applications. La technologie ne va pas beaucoup plus perturbateur que cela.

  • Nous nous réjouissons de ce que font les développeurs JavaScript de WebRTC car il devient largement appliqué. Comme blogueur

23 of 24

Citation

Phil Edholm a dit : «Potentially, WebRTC and HTML5 could enable the same transformation for real-time communications that the original browser did for information ».

24 of 24

Je vous remercie.