Как передавать данные из MediaStream потока через websocket?

Хочу попробовать реализовать что-то типо discord или skype, где будет возможность звонков, видеозвонков и демонстрации экрана. Это будет web-приложение, т.е. работать оно будет в браузере

Зачем мне это, ведь такие приложения уже есть? Я хочу узнать как это работает и получить опыт в создании таких платформ

Почему я не хочу использовать готовые фреймворки по типу flashphoner? Я хочу понять как это работает под капотом и уметь делать так же без фреймворков

Что бы я хотел видеть в ответе? Я разобрался с тем, как получить данные с устройства клиента. Вопрос в том, как упаковать эти данные, чтобы я смог отправить их в формате json? И как распаковать потом эти же данные получив на стороне другого получив тот же MediaStream интерфейс? Backend сервер является только посредником, который передаёт данные и больше ничего не делает


Ответы (1 шт):

Автор решения: Inventor

Те кто предлагают использовать мне WebRTC видимо не знают, что этот стандарт работает поверх протокола IP или UDP, но только не http и не websocket.

Решением моей задачи был этот пост: https://habr.com/ru/post/461769/

Это единственная страница в интернете с такой информацией. Больше я не нашёл аналогов не только в русскоязычном сегменте но и во всём интернете. Все остальные предлагают использовать WebRTC в большинстве своём не понимая что это такое и теряют возможность как либо контролировать данные, т.е. изменять их или записывать

Возможно мне сейчас скажут, что такой способ будет иметь задержку. Да, я не сказал, но мой проект в первую очередь рассчитан на 1 спикера и большого количества слушателей, поэтому задержка будет даже плюсом

→ Ссылка