Self-Hosted WebRTC Video Chat

Jan 26, 2019 12:55


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

Насчет последнего пункта чуть подробнее. У меня в Химках подключен безлимитный честный 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 рублей в месяц.

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

видео, ссылки, софт, интернетное, размышления, технологии

Previous post Next post
Up