Plan du cours

Jour 1 – Gestion des appareils multimédias

1. Permissions du navigateur avec navigator.permissions

  • Accès au matériel :
    • Webcam
    • Microphone
  • Permissions optionnelles :
    • Géolocalisation
    • Notifications
    • Presse-papier (lecture/écriture)
  • Vérification des permissions et statut
  • Limitations et compatibilité des navigateurs
  • Cas pratique

2. Lecture des appareils multimédias avec navigator.mediaDevices

  • Énumération des appareils
  • Gestion des changements d'appareil
  • Cas pratique

3. Compatibilité cross-navigateur

  • Utilisation de l'API :
    • navigator.permissions.query()
    • navigator.mediaDevices.enumerateDevices()
    • getUserMedia()
  • Stratégie de retour pour Safari
  • Cas pratique

4. Gestion des appareils multimédias

  • Initialisation des appareils : getUserMedia(constraints)
  • Contraintes d'appareil multimédia
  • Démarrage et arrêt des flux médias
  • Gestion des changements d'appareil
  • Cas pratique

5. Enregistrement d'appareils avec MediaRecorder

  • Démarrage/arrêt du streaming et de l'enregistrement
  • Téléchargement du fichier .webm
  • Aperçu en temps réel de la forme d'onde
  • Cas pratique

Modules optionnels :

  • Sauvegarde au format .wav avec ScriptProcessorNode
  • Visualisation du spectre FFT audio
  • Barre de volume en décibels
  • Reconnaissance vocale avec webkitSpeechRecognition

Jour 2 – Connexion peer-to-peer

1. Serveurs de signaling

  • Options de canal bidirectionnel :
    • WebSocket
    • Socket.io
    • SignalR
  • Structure des messages
  • Client WebRTC simplifié
  • Flux complet de signaling
  • Cas pratique

2. Visioconférence via WebRTC

  • Architecture : Node.js + ws
  • Client WebRTC : RTCPeerConnection
  • Test local E2E
  • Cas pratique

Fonctionnalités optionnelles :

  • Raccrochage d'appel (fermeture de la connexion, arrêt des médias)
  • Appels de groupe (salles multi-utilisateurs)
  • Authentification simple basée sur un jeton

3. Partage d'écran

  • Utilisation de getDisplayMedia()
  • Architecture et options
  • Cas pratique

4. Protocole Session Description (SDP)

  • Introduction et contenu
  • Lecture et interprétation de l'SDP
  • Codecs :
    • Audio & Vidéo
    • Négociation et contrôle
    • Stratégies de retour en cas d'échec
  • Cas pratique

5. Statistiques WebRTC avec getStats()

  • Interprétation des statistiques
  • Graphiques en direct du débit binaire et du jitter
  • Stratégies d'adaptation de la qualité
  • Cas pratique

 

Pré requis

Ce cours est idéal pour les développeurs frontend et full-stack, les architectes techniques et les ingénieurs qui construisent des fonctionnalités de communication en temps réel basées sur le navigateur, comme la vidéoconférence, le partage d'écran ou le streaming audio. Les participants doivent avoir une connaissance opérationnelle de JavaScript et des technologies web, avec une expérience optionnelle en Node.js et en communication basée sur WebSocket.
 14 Heures

Nombre de participants


Prix ​​par Participant

Nos clients témoignent (5)

Cours à venir

Catégories Similaires