SlideShare une entreprise Scribd logo
Découvrez la technologie
WebRTC.
Comment cela fonctionne ?
Linux Meetup Montréal - Février 2022
Sommaire
● WebRTC c’est quoi ?
● En tant qu’utilisateur, comment je l’utilise ?
● En tant que développeur, comment je m’en sers ?
● En tant que technicien, comment je debug ?
WEBRTC c’est quoi ?
● Technologie permettant d’avoir des communications temps réel dans un navigateur
web (Javascript API)
○ https://fr.wikipedia.org/wiki/WebRTC
● Créer par Google en 2011
● Normalisé 1.0 https://www.w3.org/TR/webrtc/
● Supporté par différents navigateur web comme
○ Chromium, Chrome
○ Firefox
○ Edge
○ Opéra
● Pas de protocol établi, chacun est libre de son implémentation
● Permet au navigateur d’avoir accès au micro, haut parleur de l’ordinateur
● Permet de monter une session SRTP dans le navigateur web pour le flux média temps
réel
● Permet d’avoir des statistiques sur le média
● API web : https://developer.mozilla.org/fr/docs/Web/API/WebRTC_API
WEBRTC
● Composants principaux
○ getUserMedia : caméra,
micro
○ RTCPeerConnection :
négociation, encodage,
décodage
○ RTCDataChannel :
échange de données
entre navigateurs
● Autres APIs
○ getStats
○ getDisplayMedia
○ MediaRecorder
● SRTP
○ Chiffrement des flux média
● STUN, TURN, SDP, ICE, DTLS
ICE, dur comme de la glace ;)
● ICE : Permet de trouver comment deux
ordinateurs peuvent parler ensemble.
● STUN : Permet de découvrir votre
adresse IP publique
● TURN : Inclus la traversé du média
● NAT : Traduction d’une adresse publique
vers une ip privé
● Ice candidate : Information de l’adresse
IP et du port pour passer le média
Plus d’infos : Très bonne définition ici
SDP - Session Description Protocol
● Permet de décrire une session média dans un appel VOIP
● L’anatomie est très bien décrite ici : https://webrtchacks.com/sdp-anatomy/
Serveurs WebRTC Open-Source
● Asterisk
● Freeswitch
● Jitsi
● Janus
● Kamailio
● Rtpengine
● Kurento
● Mediasoup
● Pion
SFU, MCU, P2P ??? Comment on s’y retrouve ?
● SFU : Selective Forwardings Units
● MCU : Multiple Control Unit
● P2P : Peer to peer
Et la sécurité ?
E2E : Webrtc insertable streams
Permet de chiffrer de bout en bout
le média.
Très récent dans le webrtc,
fonctionne à partir d’échange de
clefs.
En tant qu’utilisateur, on parle de quoi ?
Pour l’utilisateur ça sert à quoi ?
Grâce au webrtc on a des services comme :
● google meet
● jitsi
● bigblue buttons
● Microsoft teams
● Wazo ;)
● etc …
On embarque de la communication temps réel dans la navigateur web, voix,
vidéo ou texte sans plugin sans télécharger des addons et cela améliore très
largement l’expérience utilisateur.
En tant que Développeur, comment ça marche ?
Développer des applications de
communications temps réel dans
un navigateur web :
● Télécommunications
● Jeux vidéo
● …
Principalement en Javascript.
En tant que technicien, comment je debug ?
On ouvre la console debug webrtc :
Chrome => chrome://webrtc-internals

Contenu connexe

Tendances

WebRTC multitrack / multistream
WebRTC multitrack / multistreamWebRTC multitrack / multistream
WebRTC multitrack / multistream
mganeko
 
alphorm.com - Formation Linux LPIC-1/Comptia Linux+
alphorm.com - Formation Linux LPIC-1/Comptia Linux+alphorm.com - Formation Linux LPIC-1/Comptia Linux+
alphorm.com - Formation Linux LPIC-1/Comptia Linux+
Alphorm
 
Etude et mise en place d’un VPN
Etude et mise en place d’un VPNEtude et mise en place d’un VPN
Etude et mise en place d’un VPN
Charif Khrichfa
 
NATS for Modern Messaging and Microservices
NATS for Modern Messaging and MicroservicesNATS for Modern Messaging and Microservices
NATS for Modern Messaging and Microservices
Apcera
 
Présentation Docker
Présentation DockerPrésentation Docker
Présentation Docker
Colin LEVERGER
 
Presentation Zabbix en Français du 6 Juin 2013
Presentation Zabbix en Français du 6 Juin 2013Presentation Zabbix en Français du 6 Juin 2013
Presentation Zabbix en Français du 6 Juin 2013
Alain Ganuchaud
 
Présentation de Apache Zookeeper
Présentation de Apache ZookeeperPrésentation de Apache Zookeeper
Présentation de Apache Zookeeper
Michaël Morello
 
Rapport fin de cours toip
Rapport fin de cours toip Rapport fin de cours toip
Rapport fin de cours toip
assane fall
 
WebRTCの技術解説 第二版 公開版 完全版
WebRTCの技術解説 第二版 公開版 完全版WebRTCの技術解説 第二版 公開版 完全版
WebRTCの技術解説 第二版 公開版 完全版
Contest Ntt-west
 
Implémentation d'openvpn
Implémentation d'openvpnImplémentation d'openvpn
Implémentation d'openvpn
Dimitri LEMBOKOLO
 
An SFU/MCU integration for heterogeneous environments
An SFU/MCU integration for heterogeneous environmentsAn SFU/MCU integration for heterogeneous environments
An SFU/MCU integration for heterogeneous environments
Giacomo Vacca
 
Switchdev - No More SDK
Switchdev - No More SDKSwitchdev - No More SDK
Switchdev - No More SDK
Kernel TLV
 
WebRTC SFU mediasoup sample
WebRTC SFU mediasoup sampleWebRTC SFU mediasoup sample
WebRTC SFU mediasoup sample
mganeko
 
Agilité / DevOps / Continuous Integration / Continuous Delivery - Présentatio...
Agilité / DevOps / Continuous Integration / Continuous Delivery - Présentatio...Agilité / DevOps / Continuous Integration / Continuous Delivery - Présentatio...
Agilité / DevOps / Continuous Integration / Continuous Delivery - Présentatio...
Michel-Marie Maudet
 
MRU : Monobit Reliable UDP ~5G世代のモバイルゲームに最適な通信プロトコルを目指して~
MRU : Monobit Reliable UDP ~5G世代のモバイルゲームに最適な通信プロトコルを目指して~MRU : Monobit Reliable UDP ~5G世代のモバイルゲームに最適な通信プロトコルを目指して~
MRU : Monobit Reliable UDP ~5G世代のモバイルゲームに最適な通信プロトコルを目指して~
モノビット エンジン
 
MediaRecorder と WebM で、オレオレ Live Streaming
MediaRecorder と WebM で、オレオレ Live StreamingMediaRecorder と WebM で、オレオレ Live Streaming
MediaRecorder と WebM で、オレオレ Live Streaming
mganeko
 
OpenStackをさらに”使う”技術 概要と基礎操作
OpenStackをさらに”使う”技術 概要と基礎操作OpenStackをさらに”使う”技術 概要と基礎操作
OpenStackをさらに”使う”技術 概要と基礎操作
irix_jp
 
VPN site-to-site.pdf
VPN site-to-site.pdfVPN site-to-site.pdf
VPN site-to-site.pdf
gorguindiaye
 
SSHパケットの復号ツールを作ろう_v1(Decrypt SSH .pcap File)
SSHパケットの復号ツールを作ろう_v1(Decrypt SSH .pcap File)SSHパケットの復号ツールを作ろう_v1(Decrypt SSH .pcap File)
SSHパケットの復号ツールを作ろう_v1(Decrypt SSH .pcap File)
Tetsuya Hasegawa
 

Tendances (20)

WebRTC multitrack / multistream
WebRTC multitrack / multistreamWebRTC multitrack / multistream
WebRTC multitrack / multistream
 
alphorm.com - Formation Linux LPIC-1/Comptia Linux+
alphorm.com - Formation Linux LPIC-1/Comptia Linux+alphorm.com - Formation Linux LPIC-1/Comptia Linux+
alphorm.com - Formation Linux LPIC-1/Comptia Linux+
 
Etude et mise en place d’un VPN
Etude et mise en place d’un VPNEtude et mise en place d’un VPN
Etude et mise en place d’un VPN
 
NATS for Modern Messaging and Microservices
NATS for Modern Messaging and MicroservicesNATS for Modern Messaging and Microservices
NATS for Modern Messaging and Microservices
 
Présentation Docker
Présentation DockerPrésentation Docker
Présentation Docker
 
Presentation Zabbix en Français du 6 Juin 2013
Presentation Zabbix en Français du 6 Juin 2013Presentation Zabbix en Français du 6 Juin 2013
Presentation Zabbix en Français du 6 Juin 2013
 
Présentation de Apache Zookeeper
Présentation de Apache ZookeeperPrésentation de Apache Zookeeper
Présentation de Apache Zookeeper
 
Rapport fin de cours toip
Rapport fin de cours toip Rapport fin de cours toip
Rapport fin de cours toip
 
WebRTCの技術解説 第二版 公開版 完全版
WebRTCの技術解説 第二版 公開版 完全版WebRTCの技術解説 第二版 公開版 完全版
WebRTCの技術解説 第二版 公開版 完全版
 
Implémentation d'openvpn
Implémentation d'openvpnImplémentation d'openvpn
Implémentation d'openvpn
 
Offre technique
Offre techniqueOffre technique
Offre technique
 
An SFU/MCU integration for heterogeneous environments
An SFU/MCU integration for heterogeneous environmentsAn SFU/MCU integration for heterogeneous environments
An SFU/MCU integration for heterogeneous environments
 
Switchdev - No More SDK
Switchdev - No More SDKSwitchdev - No More SDK
Switchdev - No More SDK
 
WebRTC SFU mediasoup sample
WebRTC SFU mediasoup sampleWebRTC SFU mediasoup sample
WebRTC SFU mediasoup sample
 
Agilité / DevOps / Continuous Integration / Continuous Delivery - Présentatio...
Agilité / DevOps / Continuous Integration / Continuous Delivery - Présentatio...Agilité / DevOps / Continuous Integration / Continuous Delivery - Présentatio...
Agilité / DevOps / Continuous Integration / Continuous Delivery - Présentatio...
 
MRU : Monobit Reliable UDP ~5G世代のモバイルゲームに最適な通信プロトコルを目指して~
MRU : Monobit Reliable UDP ~5G世代のモバイルゲームに最適な通信プロトコルを目指して~MRU : Monobit Reliable UDP ~5G世代のモバイルゲームに最適な通信プロトコルを目指して~
MRU : Monobit Reliable UDP ~5G世代のモバイルゲームに最適な通信プロトコルを目指して~
 
MediaRecorder と WebM で、オレオレ Live Streaming
MediaRecorder と WebM で、オレオレ Live StreamingMediaRecorder と WebM で、オレオレ Live Streaming
MediaRecorder と WebM で、オレオレ Live Streaming
 
OpenStackをさらに”使う”技術 概要と基礎操作
OpenStackをさらに”使う”技術 概要と基礎操作OpenStackをさらに”使う”技術 概要と基礎操作
OpenStackをさらに”使う”技術 概要と基礎操作
 
VPN site-to-site.pdf
VPN site-to-site.pdfVPN site-to-site.pdf
VPN site-to-site.pdf
 
SSHパケットの復号ツールを作ろう_v1(Decrypt SSH .pcap File)
SSHパケットの復号ツールを作ろう_v1(Decrypt SSH .pcap File)SSHパケットの復号ツールを作ろう_v1(Decrypt SSH .pcap File)
SSHパケットの復号ツールを作ろう_v1(Decrypt SSH .pcap File)
 

Similaire à Découvrez la technologie WebRTC, comment cela fonctionne?

Web rtc 2016 - Malik Houni, Jocelyn Caraman et Bich NGUYEN
Web rtc 2016 - Malik Houni, Jocelyn Caraman et Bich NGUYENWeb rtc 2016 - Malik Houni, Jocelyn Caraman et Bich NGUYEN
Web rtc 2016 - Malik Houni, Jocelyn Caraman et Bich NGUYEN
malik3rdH
 
Introduction to WebRTC on iOS
Introduction to WebRTC on iOSIntroduction to WebRTC on iOS
Introduction to WebRTC on iOS
CocoaHeads France
 
Mise en place vidéoconférence + chat avec Openfire
Mise en place vidéoconférence + chat avec OpenfireMise en place vidéoconférence + chat avec Openfire
Mise en place vidéoconférence + chat avec Openfire
Abdou Lahad SYLLA
 
Le monitoring de la performance front
Le monitoring de la performance frontLe monitoring de la performance front
Le monitoring de la performance front
Jean-Pierre Vincent
 
Réalité virtuelle + Open source = <3
Réalité virtuelle + Open source = <3Réalité virtuelle + Open source = <3
Réalité virtuelle + Open source = <3
Yannick Comte
 
1er Meetup Mobile Montpellier - Présentation Appcelerator Titanium - Alloy
1er Meetup Mobile Montpellier - Présentation Appcelerator Titanium - Alloy1er Meetup Mobile Montpellier - Présentation Appcelerator Titanium - Alloy
1er Meetup Mobile Montpellier - Présentation Appcelerator Titanium - Alloy
Meetup Mobile Montpellier
 
Mesure_de_qualité_WebRTC.pdf
Mesure_de_qualité_WebRTC.pdfMesure_de_qualité_WebRTC.pdf
Mesure_de_qualité_WebRTC.pdf
PhilippeSultan1
 
WebRTC Paris Meetup @ Google France
WebRTC Paris Meetup @ Google FranceWebRTC Paris Meetup @ Google France
WebRTC Paris Meetup @ Google France
Arnaud BUDKIEWICZ
 
Web real time communication @UXRepublic
Web real time communication @UXRepublicWeb real time communication @UXRepublic
Web real time communication @UXRepublic
UX REPUBLIC
 
Les Nouveaux Standards et leur implémentation dans les navigateurs modernes
Les Nouveaux Standards et leur implémentation dans les navigateurs modernesLes Nouveaux Standards et leur implémentation dans les navigateurs modernes
Les Nouveaux Standards et leur implémentation dans les navigateurs modernes
Tristan Nitot
 
Virtual Private Network Virtual Private Network
Virtual Private Network Virtual Private NetworkVirtual Private Network Virtual Private Network
Virtual Private Network Virtual Private Network
mia884611
 
Wireless snif
Wireless snifWireless snif
Wireless snifAsma_dz
 
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
MSDEVMTL
 
Web rtc présentation-Devfest Yde 2013
Web rtc présentation-Devfest Yde 2013Web rtc présentation-Devfest Yde 2013
Web rtc présentation-Devfest Yde 2013
gdgyaounde
 
La diffusion vidéo avec le Cloud Azure
La diffusion vidéo avec le Cloud AzureLa diffusion vidéo avec le Cloud Azure
La diffusion vidéo avec le Cloud Azure
Microsoft
 
Gdd07 Gwt Dig
Gdd07 Gwt DigGdd07 Gwt Dig
Gdd07 Gwt Dig
Didier Girard
 
Alphorm.com Formation Blockchain : Maîtriser les Smart Contracts
Alphorm.com Formation Blockchain : Maîtriser les Smart ContractsAlphorm.com Formation Blockchain : Maîtriser les Smart Contracts
Alphorm.com Formation Blockchain : Maîtriser les Smart Contracts
Alphorm
 
Media center sous linux
Media center sous linuxMedia center sous linux
Media center sous linux
Yannick Pavard
 
Bisatel voi p protocol sip
Bisatel voi p protocol sipBisatel voi p protocol sip
Bisatel voi p protocol sip
Bisatel
 

Similaire à Découvrez la technologie WebRTC, comment cela fonctionne? (20)

Web rtc 2016 - Malik Houni, Jocelyn Caraman et Bich NGUYEN
Web rtc 2016 - Malik Houni, Jocelyn Caraman et Bich NGUYENWeb rtc 2016 - Malik Houni, Jocelyn Caraman et Bich NGUYEN
Web rtc 2016 - Malik Houni, Jocelyn Caraman et Bich NGUYEN
 
Introduction to WebRTC on iOS
Introduction to WebRTC on iOSIntroduction to WebRTC on iOS
Introduction to WebRTC on iOS
 
Mise en place vidéoconférence + chat avec Openfire
Mise en place vidéoconférence + chat avec OpenfireMise en place vidéoconférence + chat avec Openfire
Mise en place vidéoconférence + chat avec Openfire
 
Le monitoring de la performance front
Le monitoring de la performance frontLe monitoring de la performance front
Le monitoring de la performance front
 
Réalité virtuelle + Open source = <3
Réalité virtuelle + Open source = <3Réalité virtuelle + Open source = <3
Réalité virtuelle + Open source = <3
 
1er Meetup Mobile Montpellier - Présentation Appcelerator Titanium - Alloy
1er Meetup Mobile Montpellier - Présentation Appcelerator Titanium - Alloy1er Meetup Mobile Montpellier - Présentation Appcelerator Titanium - Alloy
1er Meetup Mobile Montpellier - Présentation Appcelerator Titanium - Alloy
 
Mesure_de_qualité_WebRTC.pdf
Mesure_de_qualité_WebRTC.pdfMesure_de_qualité_WebRTC.pdf
Mesure_de_qualité_WebRTC.pdf
 
Webrtc
WebrtcWebrtc
Webrtc
 
WebRTC Paris Meetup @ Google France
WebRTC Paris Meetup @ Google FranceWebRTC Paris Meetup @ Google France
WebRTC Paris Meetup @ Google France
 
Web real time communication @UXRepublic
Web real time communication @UXRepublicWeb real time communication @UXRepublic
Web real time communication @UXRepublic
 
Les Nouveaux Standards et leur implémentation dans les navigateurs modernes
Les Nouveaux Standards et leur implémentation dans les navigateurs modernesLes Nouveaux Standards et leur implémentation dans les navigateurs modernes
Les Nouveaux Standards et leur implémentation dans les navigateurs modernes
 
Virtual Private Network Virtual Private Network
Virtual Private Network Virtual Private NetworkVirtual Private Network Virtual Private Network
Virtual Private Network Virtual Private Network
 
Wireless snif
Wireless snifWireless snif
Wireless snif
 
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
 
Web rtc présentation-Devfest Yde 2013
Web rtc présentation-Devfest Yde 2013Web rtc présentation-Devfest Yde 2013
Web rtc présentation-Devfest Yde 2013
 
La diffusion vidéo avec le Cloud Azure
La diffusion vidéo avec le Cloud AzureLa diffusion vidéo avec le Cloud Azure
La diffusion vidéo avec le Cloud Azure
 
Gdd07 Gwt Dig
Gdd07 Gwt DigGdd07 Gwt Dig
Gdd07 Gwt Dig
 
Alphorm.com Formation Blockchain : Maîtriser les Smart Contracts
Alphorm.com Formation Blockchain : Maîtriser les Smart ContractsAlphorm.com Formation Blockchain : Maîtriser les Smart Contracts
Alphorm.com Formation Blockchain : Maîtriser les Smart Contracts
 
Media center sous linux
Media center sous linuxMedia center sous linux
Media center sous linux
 
Bisatel voi p protocol sip
Bisatel voi p protocol sipBisatel voi p protocol sip
Bisatel voi p protocol sip
 

Dernier

Les écrans informatiques au fil du temps.pptx
Les écrans informatiques au fil du temps.pptxLes écrans informatiques au fil du temps.pptx
Les écrans informatiques au fil du temps.pptx
abderrahimbourimi
 
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Laurent Speyser
 
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
OCTO Technology
 
Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024
UNITECBordeaux
 
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'universitéDe l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
Université de Franche-Comté
 
MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...
MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...
MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...
Horgix
 

Dernier (6)

Les écrans informatiques au fil du temps.pptx
Les écrans informatiques au fil du temps.pptxLes écrans informatiques au fil du temps.pptx
Les écrans informatiques au fil du temps.pptx
 
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
 
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
 
Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024
 
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'universitéDe l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
 
MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...
MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...
MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...
 

Découvrez la technologie WebRTC, comment cela fonctionne?

  • 1. Découvrez la technologie WebRTC. Comment cela fonctionne ? Linux Meetup Montréal - Février 2022
  • 2. Sommaire ● WebRTC c’est quoi ? ● En tant qu’utilisateur, comment je l’utilise ? ● En tant que développeur, comment je m’en sers ? ● En tant que technicien, comment je debug ?
  • 3. WEBRTC c’est quoi ? ● Technologie permettant d’avoir des communications temps réel dans un navigateur web (Javascript API) ○ https://fr.wikipedia.org/wiki/WebRTC ● Créer par Google en 2011 ● Normalisé 1.0 https://www.w3.org/TR/webrtc/ ● Supporté par différents navigateur web comme ○ Chromium, Chrome ○ Firefox ○ Edge ○ Opéra ● Pas de protocol établi, chacun est libre de son implémentation ● Permet au navigateur d’avoir accès au micro, haut parleur de l’ordinateur ● Permet de monter une session SRTP dans le navigateur web pour le flux média temps réel ● Permet d’avoir des statistiques sur le média ● API web : https://developer.mozilla.org/fr/docs/Web/API/WebRTC_API
  • 4. WEBRTC ● Composants principaux ○ getUserMedia : caméra, micro ○ RTCPeerConnection : négociation, encodage, décodage ○ RTCDataChannel : échange de données entre navigateurs ● Autres APIs ○ getStats ○ getDisplayMedia ○ MediaRecorder ● SRTP ○ Chiffrement des flux média ● STUN, TURN, SDP, ICE, DTLS
  • 5. ICE, dur comme de la glace ;) ● ICE : Permet de trouver comment deux ordinateurs peuvent parler ensemble. ● STUN : Permet de découvrir votre adresse IP publique ● TURN : Inclus la traversé du média ● NAT : Traduction d’une adresse publique vers une ip privé ● Ice candidate : Information de l’adresse IP et du port pour passer le média Plus d’infos : Très bonne définition ici
  • 6. SDP - Session Description Protocol ● Permet de décrire une session média dans un appel VOIP ● L’anatomie est très bien décrite ici : https://webrtchacks.com/sdp-anatomy/
  • 7. Serveurs WebRTC Open-Source ● Asterisk ● Freeswitch ● Jitsi ● Janus ● Kamailio ● Rtpengine ● Kurento ● Mediasoup ● Pion
  • 8. SFU, MCU, P2P ??? Comment on s’y retrouve ? ● SFU : Selective Forwardings Units ● MCU : Multiple Control Unit ● P2P : Peer to peer
  • 9. Et la sécurité ? E2E : Webrtc insertable streams Permet de chiffrer de bout en bout le média. Très récent dans le webrtc, fonctionne à partir d’échange de clefs.
  • 10. En tant qu’utilisateur, on parle de quoi ? Pour l’utilisateur ça sert à quoi ? Grâce au webrtc on a des services comme : ● google meet ● jitsi ● bigblue buttons ● Microsoft teams ● Wazo ;) ● etc … On embarque de la communication temps réel dans la navigateur web, voix, vidéo ou texte sans plugin sans télécharger des addons et cela améliore très largement l’expérience utilisateur.
  • 11. En tant que Développeur, comment ça marche ? Développer des applications de communications temps réel dans un navigateur web : ● Télécommunications ● Jeux vidéo ● … Principalement en Javascript.
  • 12. En tant que technicien, comment je debug ? On ouvre la console debug webrtc : Chrome => chrome://webrtc-internals