Comments 28
Хабрателепатия в действии: Только вчера думал, что после весеннего интереса к теме прошло достаточно времени: чтобы появилось нечто новое.
Нового появилось много, только вот работает это пока что не очень уверенно. Сейчас как раз занимаюсь проектом в котором одна из составных частей это webrtc. Работает на последних opera/firefox/chrome. Только вот чтобы совершить звонок из firefox нужно «попотеть», если для chrome все работет прозрачно, то firefox работает через DTLS-SRTP и это на серверном оборудовании не так просто организовать с учетом того, что не всякое серверное оборудование DTLS-SRTP поддерживает. Приходитеся использовать всякие прокладки типа webrtc2sip или oversip, которые пока, что достаточно проблемны в инсталляции и корректной работе, поддерживают не все функции, умеют транслировать на сервер не все сообщения…
В общем ограничений пока что хватает. радует то -что это движется и движется достаточно быстро.
В общем ограничений пока что хватает. радует то -что это движется и движется достаточно быстро.
Подтверждаю товарищи. Это еще все очень трудно.
Кстати не знаю как у вас, а у меня даже chrome работает через webrtc2sip, ибо иначе часто не получается пробросить соединения через нат если астериск сервер делает originate
Кстати не знаю как у вас, а у меня даже chrome работает через webrtc2sip, ибо иначе часто не получается пробросить соединения через нат если астериск сервер делает originate
Если есть SIP сервер то все должно работать через webrtc2sip/oversip, пока что только asterisk реализовал у себя поддержку webrtc (по сути тот же webrtc2sip/oversip только от digium), но это крайне неудобно: приходится делать 2 разных пира для одного пользователя, поскольку настройки разные для пиров webrtc и для обычных пиров (при этом взаимоисключающие)+ DTLS-SRTP мне так и не удалось правильно настроить.
WebRTC позволит обмениваться текстом между браузерами? Или только видео и звук?
Огорчает здесь то, что на данном этапе развития WebRTC я не могу сказать браузеру «этому сайту я доверяю, всегда давай ему доступ к моей камере и микрофону»
«always allow» доступно, если ваш сайт обслуживается через https.
Хотелось бы узнать, насколько корректно работает webrtc4all? Стоит ли его предлагать всем кроме хрома и будет ли от этого прозрачная поддержка webrtc на одном и том же API?
Добавьте к статье еще эту сслыку. Штука реально хорошая. sipml5.org/
тогда уж doubango.org/
Я рассмотрю webrtc2sip в следующей статье, куда и включу эту ссылку. Здесь все-таки основы, поэтому упоминания в комментариях будет достаточно.
Прошу прощения, могу тупить.
«Скачайте server.js в папку приложения». Откуда скачать?
так-то node-static сервер написал, запускаю, но сокет в клиенте не подключается, чую socket.io еще как-то надо туда вклинить.
«Скачайте 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 и вам и мне будет небольшой бонус
Все стартует, но сервер у меня не локальный, повесил на порт 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):
Все отлично заработало и на 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 серверы?
Да, или воспользоватьсяя одним из общедоступных: code.google.com/p/natvpn/source/browse/trunk/stun_server_list
Возможно, покажусь излишне ленивым, но не подскажите, как по быстрому указать в index.html, чтобы скрипт подхватывал STUN-сервер?
Заменить строку 39 на:
var pc_config = {"iceServers": [{"url": "stun:stun.l.google.com:19302"}]};
pc = new PeerConnection(pc_config);
Печаль, NAT всё-равно не пробивает =/
Прошу Вас написать сюда решение проблемы в случае если его найдете.
У WebRTC есть один большой минус — вещать на 20+ клиентов проблематично (не говоря уже о паре тысяч) — тупо не хватит канала у вещающего. Или есть какие-нибудь серверы, которые умеет ретранслировать webrtc?
Отредактировал демку jsfiddle.net/HRJP8/84/ для поддержки и классической Оперы 12
Sign up to leave a comment.
Делаем свой персональный Skype, пошаговая инструкция создания WebRTC приложения