Практические занятия и демонстрации по WebRTC
Потоковая передача видео с вашей камеры:
Потоковая передача видео через RTCPeerConnection:
Обмен данными через RTCDataChannel:
Получение информации о камере:
Создание приложения для фотосъёмки:
Изменение медиапотока, добавление CSS-фильтров:
Как использовать микрофон (Vue3):
Как сделать снимок камерой (Vue3):
Как записывать и воспроизводить аудио (Vue3):
Как записывать и воспроизводить видео (Vue3):
Как записывать и совместно использовать общий экран (Vue3):
Как реализовать совместное использование экрана и камеры в формате три четверти (Vue3):
Как записать, воспроизвести и скачать видео с камеры (Vue3):
Поддерживаемые браузеры и платформы
Chrome | Firefox | Opera | Safari | Android | iOS |
---|---|---|---|---|---|
Latest ✔ | Latest ✔ | Latest ✔ | 11+ ✔ | Latest ✔ | 11+ ✔ |
WebRTC — это технология для обеспечения связи в реальном времени, которая позволяет сетевым приложениям или сайтам устанавливать прямые соединения между браузерами без использования промежуточных посредников. С помощью WebRTC можно передавать видеопотоки и аудиопотоки или другие данные без необходимости установки дополнительных плагинов или программного обеспечения.
Это не единый протокол, а набор стандартов, включающий в себя протоколы для работы с мультимедиа, шифрования и передачи данных, а также JavaScript API, который упрощает создание приложений для обмена данными и проведения телефонных конференций.
Благодаря простоте использования JavaScript API, WebRTC позволяет браузерам обмениваться данными напрямую, без установки дополнительного ПО. Кроме того, WebRTC поддерживает гибкие механизмы сигнализации, которые позволяют легко интегрировать его с существующими системами SIP и телефонными сетями.
Внутренняя структура WebRTC
Архитектура WebRTC включает в себя три модуля: Voice Engine, Video Engine и Transport.
Voice Engine содержит следующие компоненты:
Video Engine включает:
Transport отвечает за:
Аудио- и видеодвижок: OPUS, VP8 / VP9, H264.
Протокол транспортного уровня: на нижнем уровне используется протокол UDP.
Медиапротокол: SRTP / SRTCP.
Протоколы передачи данных: DTLS / SCTP.
P2P-проникновение через внутреннюю сеть: STUN / TURN / ICE / Trickle ICE.
Сигнализация и согласование SDP: HTTP / WebSocket / SIP, Offer Answer.
В основе всего лежат аппаратные устройства, над которыми находятся модули захвата аудио и видео.
Над ними расположен аудио- и видеодвижок. Аудиодвижок отвечает за сбор и передачу звука, а также за шумоподавление и подавление эха. Видеодвижок оптимизирует передачу видео по сети и кодирование-декодирование при передаче через интернет.
На вершине находится набор C++ API, а над ним — JavaScript API для браузеров.
Все основные протоколы WebRTC построены на базе UDP.
ICE, STUN и TURN используются для проникновения через внутренние сети, они помогают получить и связать внешний сетевой адрес, а также поддерживают механизм keep alive.
DTLS используется для шифрования передаваемых данных. Это версия TLS для UDP, которая необходима для обеспечения безопасности в WebRTC. Все компоненты WebRTC должны быть зашифрованы, а JavaScript API можно использовать только с безопасными источниками (HTTPS или локальный хост).
SRTP и SRTCP — это протоколы для упаковки и передачи медиаданных.
SCTP — это протокол управления потоками, который обеспечивает характеристики, подобные TCP. В WebRTC он строится поверх DTLS.
RTCPeerConnection используется для создания и поддержания соединения между конечными точками и обеспечивает эффективную передачу аудио- и видеотрансляций.
RTCDataChannel позволяет передавать произвольные двоичные данные между конечными точками.
Объяснение стека протоколов WebRTC:
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )