Plan Szkolenia

Dzień 1 – Obsługa urządzeń multimedialnych

1. Zezwolenia przeglądarki z navigator.permissions

  • Dostęp do sprzętu:
    • Webcam
    • Mikrofon
  • Opcjonalne zezwolenia:
    • Geolokalizacja
    • Powiadomienia
    • Schowek (czytanie/zapis)
  • Zapytanie o zezwolenia i ich status
  • Ograniczenia i kompatybilność z przeglądarkami
  • Przykładowe zastosowanie

2. Czytając urządzenia multimedialne z navigator.mediaDevices

  • Eksploracja urządzeń
  • Obsługa zmian urządzeń
  • Przykładowe zastosowanie

3. Kompatybilność z różnymi przeglądarkami

  • Używanie API:
    • navigator.permissions.query()
    • navigator.mediaDevices.enumerateDevices()
    • getUserMedia()
  • Strategia awaryjna dla Safari
  • Przykładowe zastosowanie

4. Obsługa urządzeń multimedialnych

  • Inicjalizacja urządzeń: getUserMedia(constraints)
  • Ograniczenia urządzeń multimedialnych
  • Rozpoczynanie i zatrzymywanie strumieni multimedialnych
  • Obsługa zmian urządzeń
  • Przykładowe zastosowanie

5. Nagrywanie urządzeń za pomocą MediaRecorder

  • Rozpoczynanie/zatrzymywanie transmisji i nagrywania
  • Pobranie pliku .webm
  • Podgląd fali dźwiękowej w czasie rzeczywistym
  • Przykładowe zastosowanie

Opcjonalne dodatki:

  • Zapis w formacie .wav za pomocą ScriptProcessorNode
  • Wizualizacja widma FFT audio
  • Pasek głośności w decybelach
  • Rozpoznawanie głosu z webkitSpeechRecognition

Dzień 2 – Połączenie Peera

1. Serwery sygnalizacyjne

  • Opcje kanałów dwukierunkowych:
    • WebSocket
    • Socket.io
    • SignalR
  • Struktura wiadomości
  • Uproszczony klient WebRTC
  • Pełny przepływ sygnalizacji
  • Przykładowe zastosowanie

2. Wideo-chat za pomocą WebRTC

  • Architektura: Node.js + ws
  • Klient WebRTC: RTCPeerConnection
  • Lokalne testowanie E2E
  • Przykładowe zastosowanie

Opcjonalne funkcje:

  • Zakończenie połączenia (zamknięcie połączenia, zatrzymanie multimediów)
  • Rozmowy grupowe (pokoje dla wielu użytkowników)
  • Prosta autentykacja oparta na tokenach

3. Udostępnianie ekranu

  • Używanie getDisplayMedia()
  • Architektura i opcje
  • Przykładowe zastosowanie

4. Protocół Opisu Sesji (SDP)

  • Wprowadzenie i zawartość
  • Czytanie i interpretowanie SDP
  • Kodeki:
    • Audio & Wideo
    • Negocjacje i kontrola
    • Strategie awaryjne
  • Przykładowe zastosowanie

5. Statystyki WebRTC z getStats()

  • Typy statystyk
  • Jak interpretować statystyki
  • Żywe wykresy bitrate/jitter
  • Strategie dostosowywania jakości
  • Przykładowe zastosowanie

 

Wymagania

Ten kurs jest idealny dla frontendowych i pełnowartościowych deweloperów, architektów technicznych i inżynierów, którzy tworzą funkcje komunikacji w czasie rzeczywistym na podstawie przeglądarki, takie jak wideo chat, udostępnianie ekranu lub transmisja audio. Uczestnicy powinni posiadać praktyczną znajomość JavaScript i technologii internetowych, z opcjonalnym doświadczeniem w Node.js i komunikacji na podstawie WebSocket.
 14 godzin

Liczba uczestników


cena netto za uczestnika

Opinie uczestników (5)

Propozycje terminów

Powiązane Kategorie