Plan du cours

Jour 1 – Gestion des Dispositifs Médias

1. Permissions du Navigateur avec navigator.permissions

  • Gestion de matériel:
    • Webcam
    • Microphone
  • Permissions optionnelles:
    • Géolocalisation
    • Notifications
    • Presse-papiers (lecture/écriture)
  • Requêtes et statut des permissions
  • Limitations et compatibilité des navigateurs
  • Cas d'utilisation pratique

2. Lecture des Dispositifs Médias avec navigator.mediaDevices

  • Énumération des dispositifs
  • Gestion des changements de dispositif
  • Cas d'utilisation pratique

3. Compatibilité Multi-navigateurs

  • Utilisation des API:
    • navigator.permissions.query()
    • navigator.mediaDevices.enumerateDevices()
    • getUserMedia()
  • Stratégie de remplacement pour Safari
  • Cas d'utilisation pratique

4. Gestion des Dispositifs Médias

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

5. Enregistrement avec MediaRecorder

  • Démarrer/arrêter le streaming et l'enregistrement
  • Télécharger un fichier .webm
  • Aperçu en temps réel de la forme d'onde
  • Cas d'utilisation pratique

Modules Optionnels:

  • Sauvegarde au format .wav avec ScriptProcessorNode
  • Visionneuse du spectre FFT audio
  • Baremètre en décibels
  • Reconnaissance vocale avec webkitSpeechRecognition

Jour 2 – Connexion Pair à Pair

1. Serveurs de Signaling

  • Options pour le canal bidirectionnel:
    • WebSocket
    • Socket.io
    • SignalR
  • Structure des messages
  • Client simplifié WebRTC
  • Flux de signalement complet
  • Cas d'utilisation pratique

2. Chat Vidéo via WebRTC

  • Architecture: Node.js + ws
  • Client WebRTC: RTCPeerConnection
  • Tests E2E locaux
  • Cas d'utilisation pratique

Fonctionnalités Optionnelles:

  • Raccrochement de l'appel (fermeture de la connexion, arrêt du média)
  • Appels en groupe (salles multi-utilisateurs)
  • Authentification simple basée sur des jetons

3. Partage d'écran

  • Utilisation de getDisplayMedia()
  • Architecture et options
  • Cas d'utilisation pratique

4. Protocole de Description de Session (SDP)

  • Introduction et contenus
  • Lecture et interprétation du SDP
  • Codecs:
    • AUDIO & VIDÉO
    • Négociation et contrôle
    • Stratégies de remplacement
  • Cas d'utilisation pratique

5. WebRTC Statistics avec getStats()

  • Types de statistiques
  • Comment interpréter les statistiques
  • Graphiques en temps réel du débit et des interférences
  • Stratégies d'adaptation de la qualité
  • Cas d'utilisation 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éo chat, le partage d'écran ou la diffusion audio. Les participants doivent avoir une connaissance pratique du JavaScript et des technologies web, avec une expérience optionnelle dans Node.js et la communication basée sur WebSocket.
 14 Heures

Nombre de participants


Prix ​​par Participant

Nos clients témoignent (5)

Cours à venir

Catégories Similaires