Plan Szkolenia

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

1. Pozwalanie przeglądarkom na dostęp do urządzeń multimedialnych z użyciem navigator.permissions

  • Access sprzętu:
    • Webcam
    • Mikrofon
  • Opcjonalne pozwolenia:
    • Geolokalizacja
    • Powiadomienia
    • Schowek (odczyt/zapis)
  • Zapytanie o pozwolenie i sprawdzenie stanu
  • Ograniczenia i kompatybilność z przeglądarkami
  • Przykład praktyczny

2. Odczytywanie urządzeń multimedialnych z użyciem navigator.mediaDevices

  • Wyliczanie urządzeń
  • Obsługa zmian urządzeń
  • Przykład praktyczny

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

  • Użycie API:
    • navigator.permissions.query()
    • navigator.mediaDevices.enumerateDevices()
    • getUserMedia()
  • Strategia awaryjna dla Safari
  • Przykład praktyczny

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ład praktyczny

5. Nagrywanie urządzeń z MediaRecorder

  • Rozpoczynanie i zatrzymywanie transmisji i nagrywania
  • Pobieranie pliku .webm
  • Podgląd falowej formy dźwięku w czasie rzeczywistym
  • Przykład praktyczny

Opcjonalne dodatki:

  • Zapis w formacie .wav za pomocą ScriptProcessorNode
  • Wizualizacja spektrogramu FFT audio
  • Paski głośności w decybelach
  • Rozpoznawanie mowy z webkitSpeechRecognition

Dzień 2 – Połączenia między urządzeniami

1. Serwery sygnalizacyjne

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

2. Wideo chat za pomocą WebRTC

  • Architektura: Node.js + ws
  • Klient WebRTC: RTCPeerConnection
  • Lokalne testy E2E
  • Przykład praktyczny

Opcjonalne funkcje:

  • Wieszanie połączenia (zamknięcie połączenia, zatrzymanie multimediów)
  • Wielu użytkowników (pokoje wieloosobowe)
  • Prosta autentykacja oparta na tokenach

3. Udostępnianie ekranu

  • Użycie getDisplayMedia()
  • Architektura i opcje
  • Przykład praktyczny

4. Protokół Opisu Sesji (SDP)

  • Wprowadzenie i zawartość
  • Odczytywanie i interpretowanie SDP
  • Kodeki:
    • Audio & Video
    • Negocjacje i kontrola
    • Strategie awaryjne
  • Przykład praktyczny

5. WebRTC Statistics z getStats()

  • Rodzaje statystyk
  • Jak interpretować statystyki
  • Wyświetlanie wykresów szybkości transmisji/opóźnień w czasie rzeczywistym
  • Strategie dostosowywania jakości
  • Przykład praktyczny

 

Wymagania

Ten kurs jest idealny dla programistów frontendowych i full-stack, architektów technicznych oraz inżynierów budujących funkcje komunikacji w czasie rzeczywistym w przeglądarkach, takie jak wideorozmowy, udostępnianie ekranu lub streaming audio. Uczestnicy powinni posiadać podstawową wiedzę na temat JavaScript i technologii sieciowych, z opcjonalnym doświadczeniem w Node.js i komunikacji opartej na WebSocket.
 14 godzin

Liczba uczestników


cena netto za uczestnika

Opinie uczestników (5)

Propozycje terminów

Powiązane Kategorie