SESSION 1

OBjectif

Créer un outil de partage de flux vidéos / audio entre 2 utilisateurs (peers) ou plus uniquement avec une techno web (HTML5 & JAVASCRIPT)

20/11/2018

20/11/2018

C'est quoi le WebRTC ?

- Un ensemble d'outils HTML5 et API Javascript (navigateur) qui permet de créer des connections directes entre chaque correspondant pour échanger des données

20/11/2018

LE W3C À LA RESCOUSSE !

- Des connections directes entre chaque utilisateur (peer) qui permettent l'échange de données

=> RTCPeerConnection()

- Un accès à la camera et micro

=> MediaDevices.getUserMedia()

- Des éléments web qui affichent les flux vidéo locaux et distant, et les flux audio

=> <video></video>

20/11/2018

20/11/2018

Quoi c'est tout ?

(heu non pas vraiment en fait)

COMMENT ÉTABLIR (gérer) LA CONNECTION ?

COMMENT gérer les differents DEVICES ?

20/11/2018

COMMENT ÉTABLIR LA CONNECTION ?

20/11/2018

1/ Communiquer en temps-réel avec des websockets


      - websocket = connection "temps-réel"

      - permet d'échanger des messages de données pures

COMMENT ÉTABLIR LA CONNECTION ?

(serveur de signalisation)

20/11/2018

COMMENT ÉTABLIR LA CONNECTION ?

(serveur de signalisation)

20/11/2018

2/ Échanger des informations réseaux

 

- serveur STUN / TURN : déterminer / relayer l'adresse IP

- ICE : décrire le réseau utilisé

- Objectif : avoir toutes les informations réseaux nécessaires pour communiquer directement entre les deux peers

COMMENT ÉTABLIR LA CONNECTION ?

20/11/2018

COMMENT ÉTABLIR LA CONNECTION ?

(ICE CANDIDATES)

20/11/2018

COMMENT GÉRER LES DIFFERENTS DEVICES ?

20/11/2018

3/ Échanger des informations "matérielles" décrite par le SDP

- Objectif : établir une correspondance matérielle entre les peers via un système d'offre et de réponse

COMMENT GÉRER LES DIFFERENTS DEVICES ?

20/11/2018

COMMENT GÉRER LES DIFFERENTS DEVICES ?

(leS OFFRES ET Réponses SDP)

20/11/2018

LE WEBRTC EN 3 étapes

1/ Communiquer en temps-réel avec un serveur de signalisation

 

2/ Échanger des informations réseaux (STUN /TURN et ICE CANDIDATES)

 

3/ Échanger des informations "matérielles" (SDP OFFER / ANSWER)

20/11/2018

20/11/2018

Quelques petis "hics"

- Gérer les notifications d'appels (notamment sur mobile)

- Développer des interfaces fluides pour les appels à plusieurs

- Garantir une qualité d'appel suffisante

- Installer son propre serveur STUN / TURN

- Développer son propre serveur de signalisation WebSocket

20/11/2018

Des questions ?

20/11/2018

en vrai ça donne quoi ?

20/11/2018

But du jeu

20/11/2018

déroulement d'un appel

20/11/2018

déroulement d'un appel

WebRTC | OTN Session 1 - 20/11/2018

By David Fabreguette

WebRTC | OTN Session 1 - 20/11/2018

  • 371