Pull to refresh

Comments 28

Хабрателепатия в действии: Только вчера думал, что после весеннего интереса к теме прошло достаточно времени: чтобы появилось нечто новое.
Нового появилось много, только вот работает это пока что не очень уверенно. Сейчас как раз занимаюсь проектом в котором одна из составных частей это webrtc. Работает на последних opera/firefox/chrome. Только вот чтобы совершить звонок из firefox нужно «попотеть», если для chrome все работет прозрачно, то firefox работает через DTLS-SRTP и это на серверном оборудовании не так просто организовать с учетом того, что не всякое серверное оборудование DTLS-SRTP поддерживает. Приходитеся использовать всякие прокладки типа webrtc2sip или oversip, которые пока, что достаточно проблемны в инсталляции и корректной работе, поддерживают не все функции, умеют транслировать на сервер не все сообщения…
В общем ограничений пока что хватает. радует то -что это движется и движется достаточно быстро.
Подтверждаю товарищи. Это еще все очень трудно.

Кстати не знаю как у вас, а у меня даже chrome работает через webrtc2sip, ибо иначе часто не получается пробросить соединения через нат если астериск сервер делает originate
Если есть SIP сервер то все должно работать через webrtc2sip/oversip, пока что только asterisk реализовал у себя поддержку webrtc (по сути тот же webrtc2sip/oversip только от digium), но это крайне неудобно: приходится делать 2 разных пира для одного пользователя, поскольку настройки разные для пиров webrtc и для обычных пиров (при этом взаимоисключающие)+ DTLS-SRTP мне так и не удалось правильно настроить.
WebRTC позволит обмениваться текстом между браузерами? Или только видео и звук?
Да это уже возможно, в Chrome и Firefox, через DataChannel Api.
Посмотрите вот эту презентацию. Очень доступно о том как все это работает и какие есть проблемы.
Огорчает здесь то, что на данном этапе развития WebRTC я не могу сказать браузеру «этому сайту я доверяю, всегда давай ему доступ к моей камере и микрофону»

«always allow» доступно, если ваш сайт обслуживается через https.
Хотелось бы узнать, насколько корректно работает webrtc4all? Стоит ли его предлагать всем кроме хрома и будет ли от этого прозрачная поддержка webrtc на одном и том же API?
С самой последней версией были проблемы, точно какие сказать не смогу- не помню. А вот предпоследняя вполне себе годная получилась
Кто-нибудь знает а этот проект живой rtckit.com/?
Не отвечают и активности нет никакой с 2012
Я рассмотрю webrtc2sip в следующей статье, куда и включу эту ссылку. Здесь все-таки основы, поэтому упоминания в комментариях будет достаточно.
Прошу прощения, могу тупить.

«Скачайте server.js в папку приложения». Откуда скачать?

так-то node-static сервер написал, запускаю, но сокет в клиенте не подключается, чую socket.io еще как-то надо туда вклинить.
«Скачайте server.js в папку приложения». Откуда скачать?

Прошу прощения, ссылка добавлена в топик, дублирую здесь: server.js

так-то node-static сервер написал, запускаю, но сокет в клиенте не подключается, чую socket.io еще как-то надо туда вклинить.

Хороший вопрос :) Socket.io автоматечески отдаст client-side для socket.io после старта сервера по адресу http://127.0.0.1:1234/socket.io/socket.io.js
Спасибо!

Все стартует, но сервер у меня не локальный, повесил на порт 8080, все запускается и пашет по адресу
http :// блаблабла.io:8080/skype/index.html

в клиенте прописываю:
var socket = io.connect('http :// блаблабла.io', {port: 8080}); // по аналогии с документацией var socket = io.connect('http://localhost');

но в консоле следующее:
ReferenceError: require is not defined
...r socket = io.connect(' http :// блаблабла.io', {port: 8080…

как гласят интернеты:
You cannot source /socket-lib/socket.io.js;
you must source «http :// yourwebsite.com:12345/socket.io/socket.io.js».

это все учел, но все равно require is not defined.

Судя по исходникам и модулям, socket.io пользует еще и редис, его тоже запустил.

По теме пока плаваю, т.к. благодаря статье только начал пытаться разобраться.

з.ы. кстати, кому нужен кусочек облочка для экспериментов, можете тут зарегистрироваться www.nitrous.io/join/ESDgbzo_fuQ и вам и мне будет небольшой бонус
Зарегистрировался по вашей реферральной ссылке :)

Все отлично заработало и на nitrous.io (порт 8080):

  • загрузите оба файла index.html и server.js
  • измените в файле server.js порт 1234 на 8080
  • npm install socket.io
  • npm install node-static
  • node server.js
  • Preview -> port 8080
прям как есть скопировал, все отлично заработало.

где-то я видимо перемудрил. Спасибо за терпение и статью ) Буду разбираться.
А что надо сделать, чтобы всё это работало для двух человек, находящихся за NAT'ом? Поднимать STUN/TURN серверы?
Возможно, покажусь излишне ленивым, но не подскажите, как по быстрому указать в index.html, чтобы скрипт подхватывал STUN-сервер?
Заменить строку 39 на:
var pc_config = {"iceServers": [{"url": "stun:stun.l.google.com:19302"}]};
pc = new PeerConnection(pc_config);
Печаль, NAT всё-равно не пробивает =/
Прошу Вас написать сюда решение проблемы в случае если его найдете.
Решение найдено — с помощью бесплатного тестового TURN сервера — пробивает двойной NAT:

var pc_config = {"iceServers": [{"url": "turn:drakmail%40delta.pm@numb.viagenie.ca:3478", "credential": "PLACE_HERE_YOUR_PASSWORD"}, {"url": "stun:stun.l.google.com:19302"}]};
У WebRTC есть один большой минус — вещать на 20+ клиентов проблематично (не говоря уже о паре тысяч) — тупо не хватит канала у вещающего. Или есть какие-нибудь серверы, которые умеет ретранслировать webrtc?
Sign up to leave a comment.

Articles