WebRTC (Web Real-Time Communication) — набор технологий, протоколов и API, которые позволяют приложениям и сайтам обмениваться аудио- и видеоконтентом и другими данными в реальном времени без необходимости установки дополнительного программного обеспечения. www.ihc.ru
Принцип работы технологии WebRTC: www.ihc.ru
- Установка соединения. www.ihc.ru Перед тем как два устройства начнут обмениваться данными, им нужно «договориться» о параметрах соединения. www.ihc.ru Этот процесс называется сигнализацией. www.ihc.ru Он включает: www.ihc.ru
- Обмен метаданными. www.ihc.ru Устройства передают друг другу информацию о своих IP-адресах, поддерживаемых кодеках и настройках сети. www.ihc.ru
- Использование протоколов. www.ihc.ru Для сигнализации часто применяются WebSocket, SIP или обычные HTTP-запросы. www.ihc.ru
- Обход NAT и Firewall. www.ihc.ru В этом помогают специальные серверы, например STUN и TURN. www.ihc.ru habr.com
- Передача данных. www.ihc.ru Когда устройства «договорились» и обошли сетевые ограничения, они устанавливают P2P-соединение. www.ihc.ru Данные передаются напрямую между участниками, без участия серверов, с минимальными задержками. www.ihc.ru
- Шифрование данных. www.ihc.ru Применяется два протокола шифрования: www.ihc.ru
- DTLS (Datagram Transport Layer Security) защищает данные при установке соединения. www.ihc.ru
- SRTP (Secure Real Time Transport Protocol) шифрует аудио- и видеопотоки. www.ihc.ru
Главная особенность WebRTC — отсутствие сервера-посредника, данные идут напрямую. www.ihc.ru Например, при видеозвонке голос достигает собеседника быстрее, чем с использованием традиционных серверных решений. www.ihc.ru