Обновить
0
0
Игорь Буторин@CityWay

Пользователь

Отправить сообщение
Можете использовать один, это ради примера написал список.
С MDN есть проблемы с тем, что она не умеет IceCandidate по протоколу TCP. Решилось с помощью TURN сервера.
Для начала поднимите TURN сервер.
STUN серверов полно открытых, я использую:
  • stun:stun.l.google.com:19302
  • stun:stun1.l.google.com:19302
  • stun:stun2.l.google.com:19302
  • stun:stun3.l.google.com:19302
  • stun:stun4.l.google.com:19302
  • stun:stun.services.mozilla.com

Далее необходим механизм обмена IceCandidate и SDP. Можете поднять на nodeJS быстро вебсокет сервер, который будет соединять и обменивать данными между общающимися.

Процесс создание связи:
(1) Звонящий
(2) Принимающий
1 — добавляет стрим с камеры.
1 — создает SDP (offer)
1 — устанавливает локальный SDP
1 — шлёт (2) принимающему свой локальный SDP (по вебсокетам?).
2 — устанавливает SDP звонящего
2 — создает свой SDP(answer) и устанавливает его как локальный
2 — слушает событие, при успешном соединение в нём придёт сам медиастрим.

А так, документации полно по этому поводу.
Посмотрите прекрасный пример от Googl-a
https://apprtc.appspot.com/
Самая непонятная и запутывающая статья для тех кто хочет познакомится с WebRTC. Как выше написали, для того чтобы пробиться через NAT необходимы STUN/TURN сервера. Для peer-to-peer можно обойтись только ими. Но если вы захотите сделать live трансляцию или конференцию то понадобится медиа сервер. Сейчас есть хороший открытый проект Kurento. Уже больше пол года занимаемся переездом от Flash-а в видеочате, скажу там больше подводных камней чем кажется. Браузеры до сих пор не договорились нормально о видео/аудио кодеках и самой реализацией (приемлемо FF и Chrome только работает). Стабильно работает только сочетания VP8/Opus кодеков в FF и Chrome.

P.S: как закончим проект, хочу написать статью со всеми проблемами которые столкнулись и как происходил переезд. Автору советую почитать что такое WebRTC, SDP, IceCandidate, STUN/TURN.
Сайт лёг или меня залочили после выполнения кода:

auto n = 1024 * 1024 * 1024 * 5;
char* buf = new char[n];
std::cout << «Ooops, » << buf << "!\n";
Почему вращение на 57 секунде так резко останавливается?

Информация

В рейтинге
Не участвует
Откуда
Одесса, Одесская обл., Украина
Дата рождения
Зарегистрирован
Активность