Repolode
meetecho

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. 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. 2

    Клонируйте репозиторий Janus.

    git clone https://github.com/meetecho/janus-gateway.git
  3. 3

    Сгенерируйте скрипт configure, затем настройте, скомпилируйте и установите программу.

    sh autogen.sh && ./configure --prefix=/opt/janus && make && make install
  4. 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 обновляется ежедневно.

Похожие проекты

SFU (селективный узел пересылки), совместимый с WebRTC: маршрутизирует видеопотоки для масштабных видеоконференций и используется как backend Jitsi Meet.

3,1 тыс.+3 за неделю1 тыс.KotlinApache-2.0Активно поддерживаетсяОбновлён позавчера

Программный телеком-стек, превращающий обычное оборудование — от Raspberry Pi до многопроцессорных серверов — в SIP/VoIP-коммутатор.

5,3 тыс.+13 за неделю1,9 тыс.COtherОбновлён 9 дней назад

Kamailio — SIP-сервер сигнализации с открытым исходным кодом для крупных VoIP-платформ, телефонии и систем связи в реальном времени.

3 тыс.+1 за неделю1,2 тыс.COtherАктивно поддерживаетсяОбновлён вчера

Самостоятельно размещаемый сервер веб-конференций с открытым исходным кодом на базе LiveKit и опциональным AI-агентом для перевода, транскрибации и создания сводок встреч.

578+3 за неделю126GoMITАктивно поддерживаетсяОбновлён позавчера