MiroTalk SFU: бесплатный аналог Яндекс Телемоста
MiroTalk SFU полностью бесплатен, код открыт, можно развернуть у себя. Уже после того, как всё протестировал, заметил, что название как-будто знакомо, но сам продукт увидел впервые. Интерфейс знаком не был. Навёл справки и понял, что 3 года назад я писал про MiroTalk P2P. Это схожий продукт от того же автора, но совершенно другой архитектурно.
🔹 MiroTalk P2P - mesh-архитектура, каждый участник подключается напрямую к другому участнику, для связи между участниками используются STUN или TURN сервер, который только устанавливает соединение, но не пропускает через себя медиапотоки. Для больших онлайн встреч такой формат не подходит, так как число видеопотоков от каждого клиента будет равно числу участников, минус ты сам. А вот двум людям поговорить с минимальной задержкой будет самое то.
🔹 MiroTalk SFU - централизованная архитектура, все участники отправляют свой поток на сервер, который перенаправляет их остальным. Соответственно, на сервере можно выполнять обработку потоков, выравнивать битрейт.
Автор свои продукты продаёт за очень скромные деньги в интернете. По сути просто упаковывает в один архив сам продукт, документацию и даёт на какое-то время свою техподдержку. Я внимательно посмотрел, но так и не понял, чем отличается платная версия за 100$ от бесплатной, кроме техподдержки.
Я развернул у себя MiroTalk SFU и потестировал его. Работает нормально, завелось сразу. Те, кто пользовался Яндекс Телемостом представляют, как это выглядит.
Установка:
# git clone https://github.com/miroslavpejic85/mirotalksfu.git
# cd mirotalksfu
# cp app/src/config.template.js app/src/config.js
# cp .env.template .env
# cp docker-compose.template.yml docker-compose.yml
# docker-compose up -d
Из важных настроек в .env - имя домена в SERVER_HOST_URL. И очень желательно заранее получить для него валидные TLS сертификаты. Современные браузеры очень не любят работать по HTTP или HTTPS без доверенного сертификата, особенно с доступом к камере и микрофону.
Интерфейс MiroTalk полностью адаптивный. На смартфон не надо ставить никаких приложений. Заходим сразу браузером в комнату по ссылке и всё работает.
Каждый участник конференции может её записывать. Это отключается в настройках. Можно разрешить записывать конференцию только организатору. Сам интерфейс сервера по умолчанию полностью открыт, аутентификации нет, каждый желающий может создать конференцию. А вот саму конференцию можно закрыть паролем. Можно ограничить доступ к серверу списками IP, включить аутентификацию по OpenID Connect или насоздавать пользователей вручную в формате username:password:displayName:allowedRooms.
В MiroTalk SFU есть API для управления комнатами и готовая интеграция для этого с Slack, Mattermost и Discord. Также есть интеграция с ChatGPT, DeepSeek и сервисом Video AI. Указано, что возможно преобразование голоса в текст. Как на практике это работает, не знаю, не проверял. В конференции ИИшки выглядят как обычные участники, с которыми можно общаться.
Всю работу можно проверить на сайте - sfu.mirotalk.com. Мне в целом понравился продукт. Простой, добротный, сразу всё заработало. Каких-то особых возможностей нет, разве что встроенная интеграция с ИИ. На картинках ниже я зашёл в комнату с двух устройств - смартфон и компьютер, и расшарил с компьютера экран. Хорошее решение для простых видеоконференций, завязанных полностью на свою инфраструктуру с возможностью автоматической записи всех встреч.
#видеоконференции