Webrtc Mobile kurento клиент

Я хочу создать мобильное приложение, в котором один из участвующих пользователей может транслировать аудио и видео другим участникам, и сеанс записывается. Я знаю, что это можно сделать с помощью MCU, и специально провел много исследований по Куренто. Хотя я много читал о kurento, у меня возникают проблемы с реализацией клиента Kurento на IOS и Android.

Какие шаги я должен предпринять, чтобы реализовать клиентское приложение kurento?

Например, могу ли я использовать реализации, представленные на http://www.webrtc.org/?


person PU2014    schedule 17.03.2015    source источник
comment
Планируете ли вы использовать сервер сигнализации для проведения сеансов и регистрации новых клиентов? От этого зависит ответ ;-)   -  person igracia    schedule 17.03.2015
comment
@igracia Спасибо за ответ. Да, я планирую использовать сервер сигнализации для проведения сеансов и регистрации новых клиентов. Из любопытства, каковы преимущества / недостатки отказа от него? Ждем Вашего ответа.   -  person PU2014    schedule 18.03.2015
comment
ну, вы можете добавить аутентификацию, авторизацию и учет, иметь реестр пользователей для установления связи между ними (не только видео, но и обмен сообщениями) ... Как говорит lulop, это как если бы это было стандартное приложение WWW. Это просто зависит от того, какое приложение вы хотите создать, которое в вашем случае обязательно должно использовать сигнальный сервер.   -  person igracia    schedule 20.03.2015


Ответы (1)


Создание приложений WebRTC мало чем отличается от создания стандартных приложений WWW. В общем, приложение WebRTC, подобное тому, которое вы описываете, должно иметь 3 уровня: уровень клиента, уровень сервера приложений и уровень медиасервера.

Для ваших конкретных нужд Kurento Media Server может предоставить вам уровень медиа-сервера (вы сможете записывать и обеспечивать групповую связь через модели MCU и SFU). Однако Kurento Media Server не предоставляет вам два других уровня.

При использовании Kurento Media Server на уровне медиа-сервера уровень сервера приложений упрощается, если вы основываете его на технологиях Java или JavaScript. Это связано с тем, что Kurento предоставляет клиентские API Kurento (API, управляющие возможностями KMS) для Java и JavaScript в готовом виде. Следовательно, вы можете создать логику своего приложения, как если бы это было стандартное WWW-приложение, с той лишь разницей, что вместо использования API для доступа к DD.BB. (как это обычно бывает в WWW-приложениях) вы будете использовать Kurento Client API для доступа к возможностям медиа-сервера.

На стороне клиента (и это непосредственно касается сути вашего вопроса) вы можете использовать любую клиентскую технологию, совместимую со стандартами WebRTC. Это означает, что Kurento Media Server не предполагает ничего о клиентской платформе, кроме поддержки стандартов WebRTC. Следовательно, если ваше приложение правильно работает в браузерах WWW, оно также должно корректно работать в собственных приложениях Smarphone, поддерживающих WebRTC. Вам не нужна поддержка Kurento Client API на клиентском устройстве. Kurento Client API необходимо использовать только на уровне сервера приложений.

Завершая это обсуждение, с практической точки зрения, лучший вариант для создания собственного клиентского приложения для смартфона для вашего сервиса - использовать один из доступных стеков WebRTC. В частности, вы можете использовать стек www.webrtc.org (от Google) или www.openwebrtc.io (принадлежащий Ericsson). Вы должны скомпилировать их и дополнить их возможностями сигнализации, которые вы хотите использовать для взаимодействия с вашим сервером приложений.

person lulop    schedule 17.03.2015
comment
Было бы правильно сказать, что единственная причина использовать два предложенных вами варианта вместо Kurento состоит в том, что они тоньше, чем Kurento, и их нужно запускать на мобильной платформе? Kurento тоже не работает как полный стек webRTC? Он может даже генерировать SDP для конечной точки Kurento? Я только читал об этих технологиях, поэтому хотел сам получить некоторые разъяснения для аналогичного проекта, прежде чем я начну скачивать и пробовать. - person Sunny; 17.04.2016