Repolode
meetecho

meetecho/janus-gateway

用 C 语言编写的通用开源 WebRTC 媒体服务器,通过插件支持会议、流媒体和 SIP 网关等场景。

Star
9,201
Fork
2,636
未关闭 Issue
30
最近提交
前天

这是什么?

Janus 是 Meetecho 开发的通用 WebRTC 服务器,作为媒体网关在 WebRTC 客户端与其他系统之间转发音频、视频和数据,并处理 WebRTC 所需的 ICE、DTLS 和 SRTP 等环节。核心部分保持精简,大部分业务逻辑通过运行时加载的插件实现。

服务器自带视频会议房间、媒体流、SIP 电话网关、音频桥接和录制等插件,也可以用 C、Lua 或 Duktape 编写自定义插件。客户端通过基于 JSON 的 API 控制服务器,可根据编译时启用的可选库使用 HTTP REST、WebSockets、MQTT、RabbitMQ 或 Nanomsg 接入。

Janus 主要面向 Linux,也可在 macOS 上编译安装,Windows 仅可通过 WSL 运行。Data Channels、WebSockets、MQTT 和 RabbitMQ 等可选功能可在配置阶段开关,项目的 html 目录中还提供了用于测试的演示页面。

核心功能

  • 01插件化架构,提供视频房间、流媒体、SIP 网关和音频桥接等插件
  • 02控制 API 可通过 HTTP REST、WebSockets、MQTT、RabbitMQ 或 Nanomsg 访问
  • 03通过 usrsctp 支持 WebRTC Data Channels(可选)
  • 04支持使用 C、Lua 或 Duktape 编写自定义插件
  • 05可配置 ICE 行为,包括 ICE Lite、STUN/TURN 和 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 是什么?
用 C 语言编写的通用开源 WebRTC 媒体服务器,通过插件支持会议、流媒体和 SIP 网关等场景。 Janus 是 Meetecho 开发的通用 WebRTC 服务器,作为媒体网关在 WebRTC 客户端与其他系统之间转发音频、视频和数据,并处理 WebRTC 所需的 ICE、DTLS 和 SRTP 等环节。核心部分保持精简,大部分业务逻辑通过运行时加载的插件实现。
janus-gateway 可以免费使用吗?用的什么许可证?
janus-gateway 以 GPL-3.0 许可证开源。用于商业产品前,请先确认许可证条款。
janus-gateway 还在维护吗?
活跃维护中。janus-gateway 最近一次提交是在 2026年11月5日。
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

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目