Pull to refresh

Comments 7

А почему ничего не указали про libnice, настройки sysctl - должны быть кастомизации, если вы собираетесь тащить такую нагрузку? Возможно проблема не в janus. Также во воремя подобных тестов, хорошо использовать утилиты типа lsof (посмотреть занятые сокеты) и вывод бывает очень интересный. Также в обычном экспортере есть метрика node_sockstat_UDP_mem - может у вас там все возможные сокеты заняты, нет освобождения и поэтому идет сброс пакетов. Тут много факторов.

Статья хорошая, но надо провести более обширное расследование (возможно провели, но не все отразили просто).

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

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

Запустить хром или ff в контейнере с докером и открыть там страницу с комнатой для эмитации юзеров, на самом деле, можно. Тогда можно наспавнить таких контейнеров n штук и получить нужную нагрузку. Насколько помню, в гугле есть не совсем готовые, но примеры как в целом это сделать. Правда, cpu это все будет нормально потреблять.

Для воспроизведения трансляций (чтобы не использовать стриминг) можно еще mjr использовать, предварительно записать то что нужно и потом воспроизводить.

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

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

Как минимум, воспроизведение есть в плагине recordplay. Можно оттуда взять код и воспроизводить где-то еще. Ну и там лежит просто rtp трафик по сути, можно и самому его куда-то слать (например, из бота), если захочется. На счет зациклить не уверен, timestamp придется тогда руками править скорее всего.

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

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

Sign up to leave a comment.