Отправка WebRTC MediaStream через Websocket (RTP через HTTP / Websocket)

WebRTC, среди прочего, предназначен для браузера в реальном времени для связи с браузером, но в моем случае он будет использоваться для браузера для серверной аудиосвязи.

из информации, которую я собрал, MediaStream передается с помощью RTP через UDP.

Это потребует, по крайней мере, двух дополнительных портов, кроме протокола, используемого для сигнализации, чего я хотел бы избежать.

в WebRTC есть ли возможность использовать RTP более Websocket вместо RTP через UDP, так что мне нужно использовать только порт 80 или 443?

2 ответов


нет, это невозможно с помощью WebRTC.

WebRTC был построен, чтобы дать браузерам три основные функции:

  1. возможность доступа к камерам и микрофонам устройства;
  2. возможность установить сеансы SRTP для отправки / получения аудио и видео;
  3. возможность устанавливать одноранговые каналы данных между браузерами;

эти функции доступны для веб-приложений через определенный Javascript API здесь. Для доступа к медиа-устройствам можно использовать getUserMedia можно() и вы получите MediaStream для присоединения к HTML5 аудио и видео тегов. Чтобы создать сеанс SRTP, вам нужно создать одноранговое соединение и управлять потоками, чтобы использовать.

вы должны запросить у браузера предложение media SDP и отправить его другой стороне, используя любой протокол (например, websockets). Когда другая сторона получает ваше предложение SDP, она может ввести его в браузер, запросите ответ SDP и отправьте его обратно. Как только оба браузера имеют предложения, они начинают переговоры SRTP, используя ICE.

таким образом, у вас не будет доступа к пакетам RTP для отправки их через websockets.


на самом деле, план заключается в поддержке RTCP-mux RFC 5761 и некоторая форма расслоения (все еще обсуждается) для слияния все потоков на один порт. Однако порт будет выбран ICE / STUN. При необходимости он также будет использовать TURN и в конечном итоге поддерживать TURN-TCP, который может работать через порт 80, я считаю. Однако качество пострадает.