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