План на курса

Обработка на медийни устройства

1. Разрешения на браузерите с navigator.permissions

  • Достъп до твърдо устройство:
    • Веб камера
    • Микрофон
  • Опционални разрешения:
    • Геолокация
    • Уведомления
    • Clipboard (read/write)
  • Заявки за разрешения и състояние
  • Ограничения и кръстосъвместимост на браузерите

2. Четене на медийни устройства с navigator.mediaDevices

  • Перечисляване на устройства
  • Обработка при промяна на устройство

3. Кръстосъвместимост между браузери

  • Използване на API:
    • navigator.permissions.query()
    • navigator.mediaDevices.enumerateDevices()
    • getUserMedia()
  • Стратегия за fallback с Safari

4. Обработка на медийни устройства

  • Инициализация на устройство: getUserMedia(constraints)
  • Ограничения на медиа устройства
  • Започване и спиране на медиа потоци
  • Обработка при промяна на устройство

5. Запис на устройства с MediaRecorder

  • Започване и спиране на потокове и запис
  • Изтегляне на .webm файл
  • Преглед на вълнова форма в реално време

Опционални добавки:

  • Запазване в формат .wav с използване на ScriptProcessorNode
  • Визуализация на аудио FFT спектър
  • Полезникова лента в десибели
  • Разпознаване на глас с webkitSpeechRecognition

Peer Connection

1. Сървъри за сигнализация

  • Опции за двупосочен канал:
    • WebSocket
    • Socket.io
    • SignalR
  • Структура на съобщенията
  • Упростен WebRTC клиент
  • Пълна сигнализационна процедура

2. Видео чат с WebRTC

  • Архитектура: Node.js + ws
  • WebRTC клиент: RTCPeerConnection
  • Локално тестиране от край до край

Опционални функции:

  • Прекъсване на съобщение (затваряне на връзка, спиране на медиа)
  • Групови съобщения (много потребителски стаи)
  • Токен базирана проста аутентикация

3. Споделяне на екран

  • Използване на getDisplayMedia()
  • Архитектура и опции

4. Протокол за описание на сесии (SDP)

  • Въведение и съдържание
  • Четене и интерпретация на SDP
  • Кодеки:
    • Аудио & Видео
    • Преговаряне и контрол
    • Fallback стратегии

5. Статистики на WebRTC с getStats()

  • Видове статистики
  • Как да интерпретирате статистиките
  • Графики за битрейт и джътер в реално време
  • Стратегии за адаптация на качеството

6. Всички теми са

  • Приложение, приложено в практика

Изисквания

Този курс е идеален за фронтенд и фул-стак разработчици, технически архитекти и инженери, които строят функции за реална време комуникация в браузера като видео чат, споделяне на екран или аудио поток. Участниците трябва да имат работни познания по JavaScript и уеб технологии, с опционално изпитване в Node.js и комуникация базирана на WebSocket.

 14 часа

Брой участници


Цена за участник

Отзиви от потребители (5)

Предстоящи Курсове

Свързани Kатегории