SFU (селективный узел пересылки), совместимый с WebRTC: маршрутизирует видеопотоки для масштабных видеоконференций и используется как backend Jitsi Meet.
meetecho/janus-gateway
Универсальный open source медиасервер WebRTC на C с архитектурой плагинов для конференций, потокового вещания и SIP-шлюзов.
- Звёзды
- 9,199
- Форки
- 2,636
- Открытые issues
- 30
- Последний коммит
- 16 часов назад
Что это?
Janus — универсальный сервер WebRTC, разработанный Meetecho. Он работает как медиашлюз, ретранслируя аудио, видео и данные между клиентами WebRTC и другими системами и выполняя необходимые для WebRTC операции с ICE, DTLS и SRTP. Ядро сервера остаётся компактным, а основная логика приложений реализована в плагинах, которые загружаются во время выполнения.
В комплекте есть плагины для видеоконференц-залов, потоковой передачи медиа, шлюзов SIP-телефонии, аудиомостов, записи и других сценариев. Сервер также можно расширять собственными плагинами на C, Lua или Duktape. Клиенты управляют сервером через API на основе JSON, доступный по HTTP REST, WebSockets, MQTT, RabbitMQ или Nanomsg — в зависимости от того, какие дополнительные библиотеки были включены при сборке.
Janus предназначен для Linux, но его также можно собрать на macOS; Windows поддерживается только через WSL. Дополнительные функции, например Data Channels, WebSockets, MQTT и RabbitMQ, можно включать и отключать на этапе конфигурации. Для тестирования проект предоставляет демонстрационные страницы в папке html.
Ключевые возможности
- 01Архитектура плагинов: плагины видеокомнат, потоковой передачи, SIP-шлюза и аудиомоста
- 02API управления доступен по HTTP REST, WebSockets, MQTT, RabbitMQ или Nanomsg
- 03Поддержка WebRTC Data Channels через usrsctp (необязательно)
- 04Собственные плагины можно писать на C, Lua или Duktape
- 05Настраиваемая обработка ICE, включая ICE Lite, параметры TURN/STUN и NAT 1:1
- 06Необязательная поддержка BoringSSL и настройка повторных передач DTLS
Сценарии использования
- Создание серверной части для многопользовательских видеоконференций на основе WebRTC
- Ретрансляция потоков WebRTC зрителям или потоков с источников RTSP
- Связь браузерных клиентов WebRTC с системами SIP-телефонии
- Запуск собственного медиасервиса WebRTC с серверными плагинами
Быстрый старт
- 1
Установите зависимости, необходимые для вашего дистрибутива (например, пакеты Ubuntu/Debian).
apt install libmicrohttpd-dev libjansson-dev libssl-dev libsofia-sip-ua-dev libglib2.0-dev libopus-dev libogg-dev libcurl4-openssl-dev liblua5.3-dev libconfig-dev pkg-config libtool automake - 2
Клонируйте репозиторий Janus.
git clone https://github.com/meetecho/janus-gateway.git - 3
Сгенерируйте скрипт configure, затем настройте, скомпилируйте и установите программу.
sh autogen.sh && ./configure --prefix=/opt/janus && make && make install - 4
Установите файлы конфигурации по умолчанию.
make configs
Что важно знать
- Ориентировано на Linux: Windows не поддерживается, доступен только WSL.
- Требуется сборка из исходного кода с множеством необязательных зависимостей C.
В подборках
Темы
Частые вопросы
- Что такое janus-gateway?
- Универсальный open source медиасервер WebRTC на C с архитектурой плагинов для конференций, потокового вещания и SIP-шлюзов. Janus — универсальный сервер WebRTC, разработанный Meetecho. Он работает как медиашлюз, ретранслируя аудио, видео и данные между клиентами WebRTC и другими системами и выполняя необходимые для WebRTC операции с ICE, DTLS и SRTP. Ядро сервера остаётся компактным, а основная логика приложений реализована в плагинах, которые загружаются во время выполнения.
- janus-gateway можно использовать бесплатно? Какая у него лицензия?
- janus-gateway распространяется с открытым исходным кодом под лицензией GPL-3.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- janus-gateway всё ещё поддерживается?
- Активно поддерживается. Последний коммит в janus-gateway — 5 нояб. 2026 г..
- Для чего можно использовать janus-gateway?
- Создание серверной части для многопользовательских видеоконференций на основе WebRTC Ретрансляция потоков WebRTC зрителям или потоков с источников RTSP Связь браузерных клиентов WebRTC с системами SIP-телефонии Запуск собственного медиасервиса WebRTC с серверными плагинами
- Как установить janus-gateway?
- Установите зависимости, необходимые для вашего дистрибутива (например, пакеты Ubuntu/Debian).: apt install libmicrohttpd-dev libjansson-dev libssl-dev libsofia-sip-ua-dev libglib2.0-dev libopus-dev libogg-dev libcurl4-openssl-dev liblua5.3-dev libconfig-dev pkg-config libtool automake Клонируйте репозиторий Janus.: git clone https://github.com/meetecho/janus-gateway.git Сгенерируйте скрипт configure, затем настройте, скомпилируйте и установите программу.: sh autogen.sh && ./configure --prefix=/opt/janus && make && make install Установите файлы конфигурации по умолчанию.: make configs
- Где скачать janus-gateway?
- Исходный код и инструкции по установке — на GitHub: https://github.com/meetecho/janus-gateway
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Программный телеком-стек, превращающий обычное оборудование — от Raspberry Pi до многопроцессорных серверов — в SIP/VoIP-коммутатор.
Kamailio — SIP-сервер сигнализации с открытым исходным кодом для крупных VoIP-платформ, телефонии и систем связи в реальном времени.
Самостоятельно разворачиваемый сервер видеоконференций на Go с WebRTC и браузерным клиентом.
Самостоятельно размещаемый сервер веб-конференций с открытым исходным кодом на базе LiveKit и опциональным AI-агентом для перевода, транскрибации и создания сводок встреч.
Клиент онлайн-класса с открытым исходным кодом для Web, Windows и macOS на базе аудио-, видеосвязи и обмена сообщениями в реальном времени от Agora.