План на курса
Обработка на медийни устройства
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.
Отзиви от потребители (5)
Ми ми е харесало, че Гънър написа почти всичкия код в реално време, докато минавахме през урока, но също така имаше достатъчно предварително подготвено материали в Google Drive, към които мога да се обръщам след обучението. Кодът, написан от Гънър, базиран на примерните данни, които предложих по-рано, беше също много полезен и направи обучението актуално за нашите собствени набори от данни.
Ranvir - Schroders Personal Wealth
Курс - Visual Studio Code
Машинен превод
Много примери за всеки модул и голямо знание на тренера.
Sebastian - BRD
Курс - Secure Developer Java (Inc OWASP)
Машинен превод
Модул 3 Приложения, атаки и експлоити, XSS, SQL инјекција Модул 4 Сървъри, атаки и експлоити, DoS, BOF
Tshifhiwa - Vodacom
Курс - How to Write Secure Code
Машинен превод
Реални примери.
Kristoffer Opdahl - Buypass AS
Курс - Web Security with the OWASP Testing Framework
Машинен превод
Познанията на тренера по темата бяха отлични, и начинът, по който сесиите бяха организирани така, че публиката да може да следи демонстрациите, изключително допомогна за усвояването на тази информация, в сравнение с просто седене и слушане.
Jack Allan - RSM UK Management Ltd.
Курс - Secure Developer .NET (Inc OWASP)
Машинен превод