klink0v (klink0v) wrote,
klink0v
klink0v

Categories:

Self-Hosted WebRTC Video Chat

Есть у меня родственнички-с, которые помимо прочего занимаются репетиторством-трепетиторством. Пытаются преподавать всякие оккультные дисциплины удалённо, то бишь по скайпу. Дык вот скайп этот меня уже порядком подзадолбал с технической точки зрения.


  • Постоянно меняет интерфейс, показывает свою рекламу.

  • Обновляется без спроса.

  • Норовит синхронизироваться с контактами из записной книжки смартфона.

  • С каждом новым релизом всё монстрообразнее, тормознее и тяжеловеснее.

  • Самое главное: неоптимальные соединения.

Насчет последнего пункта чуть подробнее. У меня в Химках подключен безлимитный честный 100-мегабитный канал с постоянным белым IP. Хоть свой "подстольный" хостинг запускай. Но скайп не всегда организует прямой поток данными между клиентами. Часто он строит маршрут "в обход", через ни пойми какие промежуточные узлы. И все преимущества толстого канала теряются.

Стал смотреть в сторону альтернатив. Требования к софтине:


  1. бесплатная;

  2. self-hosted server;

  3. клиентская часть на WebRTC (работает через браузер);

  4. наличие мобильных приложений является плюсом;

  5. если есть серверная часть для Windows — вообще шикарно;

  6. по возможности, нетребовательность к системным ресурсам;

  7. пользовательский интерфейс — "для чайников".

Что накопал на настоящий момент под эти требования.


  • TrueConf. Отечественная разработка. Возможностей бесплатной версии под мои задачи хватает. Но неприятно поразили прожорливость и кривизна серверной части. Предназначена для запуска под Windows. В установленном состоянии занимает около 520 МБ. Фактически это "сборка" из Apache, PostgreSQL, PHP, OpenSSL (всё под Windows) и некоего кода на JS+PHP. На ноутбуке 5-летней давности будет тормозить безбожно. Админка не для среднего ума, "чайник" не разберётся. Почему-то для "симметричных" конференций WebRTC работает, а для "несимметричных" — нет. Где логика?

  • Mumble / Murmur. Прикольная и легковесная штуковина. Серверную часть можно крутить хоть на OpenWRT. К сожалению, только аудио. Видео нема.

  • Jitsi Meet. На первый взгляд интересная софтинка. Заявлено, что умеет WebRTC. Серверная часть написана на Java, но под виндой запустить её почему-то нельзя. Как вариант вполне достоин рассмотрения, но придется где-то городить под него отдельный сервер.

  • Spreed WebRTC. Написан на Go и NodeJS. Сам ещё не проверял, но многие хвалят. Чисто в теории можно собрать под винду, но реально никто не пробовал этого делать. Официально такой вариант не поддерживается. Требует обертки в какой-нибудь веб-сервер / прокси, который понимает WebSocket. Например, NginX.

  • Matrix / Synapse. Написан на Python-е. Чисто теоретически можно завести под виндой, но автор рекомендует пользовать WSL. Не уверен, что я этого хочу. Для поддержки WebRTC надо поднимать Riot-Web. Мою задачу оно, конечно, решит. Но как-то слишком всё сложно.

Пока это всё, что я нашел (из разумных вариантов). Если что-то упустил, ткните меня пожалуйста носом в камментах.

Отдельный вопрос, что делать с серваком. Из этой всей плеяды только TrueConf официально предназначен для форточек, но слабенький ноутбук, как я уже упоминал, с ним не справится. Да и кто гарантирует отсутствие дырок в такой адской сборке. Для остальных придётся клепать отдельную машинку. И дальше непонятно, то ли ставить под стол гробик, который будет кушать электричество, жужжать и греть атмосферу. То ли купить Linux-овую VDSку. По деньгам, кстати, получается "то же на то же", порядка 330 рублей в месяц.

Вот я чо-та призадумался.

Tags: видео, интернетное, размышления, софт, ссылки, технологии
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 6 comments