Pull to refresh
10
0

Пользователь

Send message

Конкретно эту систему не смотрел. Для больших видеоконференций на сотни пользователей смотрели в сторону Zoom, но использование их SDK и интеграция обходятся дороже, чем просто использовать их приложение.

Раньше для небольших групп и видеозвонков один на один мы использовали сторонние сервисы и интегрировали их себе, но это было очень дорого. Использование Janus и разработка своего решение позволило значительно сократить расходы на видеосвязь.

В доке Janus видел, что стрим можно записать в mjr. Но что-то не видел чтобы можно mjr в качестве источника использовать для стрима. Это у Streaming plugin такая фича есть?

Через mjr было бы гораздо удобнее, особенно если его зациклить можно :)

Для тестов использовал libnice 0.1.18. Особо в нем не копался, поэтому ничего по нему сказать не могу. Про sysctl, lsof и node_sockstat_UDP_mem вообще не думал. Спасибо за подсказку :)

Еще хочу погонять тесты и посмотреть perf-ом.

В Chrome, например, звонок развалится на 50 треках, в iOS Safari — при количестве треков больше 1.

Отличная статья, спасибо! :)
Я правильно понял, что для iOS Safari в одном peerConnection может быть только один видеотрэк?

Я могу создать аккуратный, полнофункциональный интерфейс на обычном JS за меньшее время, чем это способен сделать Angular-разработчик

Вау! Звучит круто! Жаль автор не привел примеров своего кода в подтверждение этих слов :))

Не совсем. Нам не удавалось загрузить сеть, CPU, RAM и IOPS на все 100%. Предполагаю, что есть какие-то особенности на уровне Janus. Если на него направить много трафика, то некоторые соединения начинают неожиданно закрываться, при этом ресурсов на сервере и пропускной способности сети достаточно.
Приложение под iOS и Android с видеосвязью тоже есть. Но их разрабатывает другая команда. Мы для них только бэк предоставляем.
Нет. Мы код Janus не меняли.
Добрый день!
Какие основные проблемы у вас сейчас остались с Janus, если не секрет?

Основная проблема — это ошибка «User ID… already exists». Возникает, когда один и тот же пользователь пытается зайти в комнату одновременно с двух вкладок браузера или двух разных устройств. Janus не дропает автоматически старое подключение пользователя, если он повторно заходит в комнату. Приходится на уровне приложения обрабатывать эту ошибку.

Вы используете Simulcast? Если да, то ловили с ним каких-нибудь проблем?

Используем. Проблем нет.

В каком разрешении, с каким битрейтом и на каких кодеках вы в итоге работаете и почему?

640x480, 256 Кбит/с. Подобрали на глаз, чтобы картинка норм была и записи не все пространство на серверах выжирали. Кодеки в основном vp9, т.к. чисто субъективно кажется, что при одинаковом битрейте качество картинке лучше, чем у vp8. Для Safari используем h264.

Зачем вам вообще сервер нужен? У вас же наверняка в большинстве случаев (1 учитель – 1 ученик) можно обойтись P2P?

Для уроков 1 на 1 нужен по двум причинам. Во-первых, некоторые ученики хотят послушать себя. Во-вторых, чтобы внутренний отдел контроля качествам мог проверять, как преподаватели проводят уроки.

Чем обусловлена проблема с 200 мбит/сек на сервер? На дворе 2021 год, и эта цифра что-то совсем не впечатляет :)

Не копали эту тему в глубь, просто закидали проблему железом :))
Спасибо за статью. Правда когда начинал читать, ожидал, что в ней будет написано, как прикрутить свое доменное имя к такому сайту. Надеюсь это будет описано в следующие статье ;)
В нашей команде у разработчиков на компах сначала стояла винда, но постепенно все заменили ее на Ubuntu, это оказался самый простой и удобный вариант для нас.
Для решения проблемы с БД, посмотрите как устроены миграции в Laravel и в Symfony, также есть Liquibase
Для ITшных команд. Давайте больше свободы по управлению рабочим временем, но контролируйте этот процесс. Например, с сотрудником можно договориться, что он может взять отгул в любое время, достаточно предупредить об этом за день. Либо сотрудник может отлучиться на пару-тройку часов во время рабочего дня, уведомив предварительно своего руководителя. Конечно все это при условии, что нет срочных задач, а плановые сдаются в срок. При таком подходе сотрудники охотнее, в случае необходимости, работают до поздно или на выходных, если надо срочно выкатить новую фичу. Но не стоит этим злоупотреблять :)
Все таки зависит от клиента. Кто-то ориентируется на цену, кто-то на сроки доставки и выполнения заказа, некоторые на ассортимент, чтобы можно было все сразу заказать и получить в одном месте, а кто-то на качество. На что делать упор зависит от аудитории и товара, которым торгуете. Лично я часто вижу как клиенты отказываются оформлять заказ из-за того, что их не устраивают сроки доставки или ассортимент, несмотря на то, что цена ниже чем у конкурентов.
Поддерживаю. Хотелось бы узнать узнать получше, что такое конверсия и как ее правильно рассчитывать. Желательно с примерами из реальной жизни. Лично для себя использую формулу: количество оформленных заказов деленное на количество уникальных посетителей за сутки (умноженное на 100%, чтоб в процентах было). При такой формуле, чисто теоретически конверсия может получиться больше 100%, например, если за сутки был всего один посетитель и сделал два заказа, то конверсия будет 200% :)
Полезная инфа для начинающего java разработчика. Добавьте статью в хаб Java, пожалуйста.

Information

Rating
Does not participate
Works in
Registered
Activity