Russian Qt Forum
Ноябрь 24, 2024, 09:52 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Онлаин-консультант  (Прочитано 5019 раз)
virtual_root
Гость
« : Май 15, 2012, 22:04 »

Ещё раз здравствуйте. У меня такая задумка: хочу сделать программу на которую можно будет звонить с прямо с сайта, не устанавливая при этом программного обеспечения. Т.е. на сайте есть какой-то скриптик который обрабатывает звонок.
Ребята, скажите возможно такое сделать и с чего начать? Я так понимаю что на сайте должен быть мощный скриптик чтобы быстро обмениваться данными. Возможно ли это реализовать через flashPlayer ? Чтобы моя программка посылала данные, а на сайте flashPlayer их ловил ? Будет ли это происходить с большой скоростью, чтобы было ощущение реального разговора?
Может кто посоветует в какую сторону читать и с чего начать ? А может у кого-нибудь есть опыт по обмену данными с flash Player ?
Записан
mutineer
Гость
« Ответ #1 : Май 15, 2012, 22:09 »

видеозвонки в фейсбуке/гугле/втентакле показывают что сделать такое вполне реально
Записан
DmitryM
Гость
« Ответ #2 : Май 16, 2012, 07:30 »

Я бы посмотрел бы в сторону VoIP через XMPP.
Записан
Krysk
Гость
« Ответ #3 : Май 16, 2012, 11:13 »

Что-типа Meebo, imo.im?

посмотри red5 открытый медиа сервер для flash
Записан
virtual_root
Гость
« Ответ #4 : Май 18, 2012, 09:34 »

спасибо ребята! У меня появилась идея реализации:
На виртуальном хостинге запустить сервер, который будет осуществлять соединение с оператором, дозваниваться до него. Когда разговор начнется, то данные писать в порт звуковой платы, а flashPlayer будет их оттуда непрерывно считывать и воспроизводить. Вот только у меня вопрос: как быть если нужно и писать сразу в порт звуковой платы(голос оператора) и тут же flashPlaer должен писать в звуковую плату (голос клиента). И тут же я должна считывать и те и другие данные с порта. Возможно какое-то разделение порта звуковой платы?  Или такое решение не подойдёт для моей задачи?  Ребята, заранее извиняюсь, если какие-то глупые вопросы задаю.

Смотрела так же в сторону: VoIP через XMPP. И совсем запуталась. Я не очень понимаю как можно через Jabber мгновенно передавать информацию, с одного компьютера на другой. Ведь главная задача моего приложение, чтобы клиенту не нужно было ничего устанавливать дополнительно, чтобы позвонить оператору. Получается моя программа как сама должна работать с Jabber сервером ? Не совсем представляю как это вообще возможно. Пожалуйста, если не трудно разъясните по подробней мне как это можно было бы реализовать. Мне бы хоть идею понять)
Записан
DmitryM
Гость
« Ответ #5 : Май 19, 2012, 10:05 »

Смотрела так же в сторону: VoIP через XMPP. И совсем запуталась. Я не очень понимаю как можно через Jabber мгновенно передавать информацию, с одного компьютера на другой. Ведь главная задача моего приложение, чтобы клиенту не нужно было ничего устанавливать дополнительно, чтобы позвонить оператору. Получается моя программа как сама должна работать с Jabber сервером ? Не совсем представляю как это вообще возможно. Пожалуйста, если не трудно разъясните по подробней мне как это можно было бы реализовать. Мне бы хоть идею понять)
Есть куча библиотек для разных языков http://xmpp.org/xmpp-software/libraries/ включая JavaScript/Java/Flash.
Есть клиенты написанные на JavaScript/Java/Flash.
Встраиваешь клиент на своей странице и настраиваешь его на подключение к оператору.
Из достоинств, тебе не нужно писать клиент для оператора, и не нужно писать никакого сервера для соединения с оператором.
Записан
virtual_root
Гость
« Ответ #6 : Май 20, 2012, 15:43 »

Ребята, пожалуйста, помогите мне разобраться - объясните на пальцах. Немного отойду от своей задачи. У же несколько дней гуглю по интернету в поисках решения моей задачи. Мне интересно самой попробовать написать, не из готового, так как к готовому я всегда успею обратиться. Пока хочу попробовать написать простую звонилку между двумя пользователями. Прочитав около сотни статей, я поняла что это не так просто. У меня вопрос: для написания такой звонилки мне понадобится протокол SIP и VOIP ? Наверное я задам очень глупый вопрос, но как их использовать в будующем приложении, если это не библиотеки и  их нельзя скачать??? Я так понимаю у меня должно быть что-то настроено в оборудовании? И как именно происходит звонок с одного компьютера на другой? Так же наткнулась на RTP протокол, но тоже не пойму как его зацепить и использовать? Для моей цели он мне подходит. Может кто-то писал уже звонилки, и его не затруднит разложить мне всё пополочкам) Мне бы только понять как это всё должно функционировать между собой, как с этим работать, а дальше я уже запрограммирую.
Записан
alexis031182
Гость
« Ответ #7 : Май 20, 2012, 16:17 »

Очень интересная задача. Мне тоже придётся решать её, т.к. собираюсь встроить поддержку мультимедиа в проект своего вебсервера.

Как я понимаю, стандартно-интерфейсного доступа из браузера к клиентскому мультимедиа оборудованию нет. Этот функционал может предоставить только flash. Ну или можно написать собственные плагины к браузерам (отдельно для каждого браузера и, возможно, отдельно для разных версий одного браузера). flash получается предпочтительнее, т.к. можно считать, что поддерживается всеми клиентами. Класс доступа к микрофону описан в документации Adobe. Однако возникают вопросы о сжатии данных и о транспорте их на сервер. По первому пункту нужно уточнить, предоставляет ли flash-интерфейс доступ к уже сжатым данным или это raw-поток (отчего-то кажется, что это именно второе). Что касаемо транспорта, то здесь придётся озадачиться изучением одного из соответствующих протоколов. Ну или гнать данные поверх того же HTTP, как это сделали вот эти товарищи (я бы всё-таки в этом случае на WebSockets взглянул).
Записан
V1KT0P
Гость
« Ответ #8 : Май 20, 2012, 16:24 »

Ребята, пожалуйста, помогите мне разобраться - объясните на пальцах.
Пока хочу попробовать написать простую звонилку между двумя пользователями.
Сперва происходит соединение между двумя компьютерами по TCP. Затем уже в зависимости от звукового кодека посылаем по UDP(попроще и задержек поменьше, но кодек должен нормально работать с поврежденными данными) или по TCP(тут могут быть задержки, но можно использовать все что угодно) поток звуковых данных. Обычно принятые данные сразу не воспроизводятся а складываются в буфер 100-200 мс. Это нужно чтоб не было разрывов.
Звук пишется с микрофона и кодируются любым потоковым кодеком, либо блочным если блок не большой(например меньше половины буфера).
Для реализации всего этого необходимо сперва создать свой протокол обмена. Обычно первые два байта длина пакета, вторые два байта указывают на тип пакета: текстовое сообщение, звуковые данные или служебные(для посылки сигналов соединения, отсоединения и т.д.). Также в конце обычно контрольная сумма находится.
Кодек выбираешь любой что подходит, для локальной сети можно обычный ogg или mp3 использовать. Для интернета лучше всего подойдет Speex.
Записан
virtual_root
Гость
« Ответ #9 : Май 20, 2012, 16:28 »

Спасибо большое стало хоть немного понятней с чего начинать и куда двигаться)
Записан
DmitryM
Гость
« Ответ #10 : Май 22, 2012, 09:57 »

TCP будет медленно. Потеря нескольких пакетов вполне терпимо при передаче звука/видео.
Эх любите геморрой http://www.nixp.ru/news/sipML5-%D1%81%D0%B2%D0%BE%D0%B1%D0%BE%D0%B4%D0%BD%D1%8B%D0%B9-SIP-%D0%BA%D0%BB%D0%B8%D0%B5%D0%BD%D1%82-%D1%81-%D0%BF%D0%BE%D0%B4%D0%B4%D0%B5%D1%80%D0%B6%D0%BA%D0%BE%D0%B9-%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-%D0%BD%D0%B0%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%BD%D1%8B%D0%B9-%D0%BD%D0%B0-JavaScript.html
« Последнее редактирование: Май 22, 2012, 10:30 от DmitryM » Записан
alexis031182
Гость
« Ответ #11 : Май 22, 2012, 10:35 »

Я думал, что WebRTC ещё пока не полностью поддерживается браузерами. А оказывается полный нопасаран. Отлично!
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.048 секунд. Запросов: 21.