大規模なビデオ会議向けに映像ストリームを中継するWebRTC互換SFU(Selective Forwarding Unit)。Jitsi Meetのバックエンドとして使われます。
meetecho/janus-gateway
C製の汎用オープンソースWebRTCメディアサーバー。プラグイン方式で、会議、ストリーミング、SIPゲートウェイに対応します。
- スター
- 9,199
- フォーク
- 2,636
- 未解決の Issue
- 30
- 最終コミット
- 14 時間前
これは何?
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などのオプション機能はconfigure時に有効化または無効化できます。また、テスト用のデモページがhtmlフォルダに用意されています。
主な機能
- 01ビデオルーム、ストリーミング、SIPゲートウェイ、オーディオブリッジの各プラグインを備えたプラグインアーキテクチャ
- 02HTTP REST、WebSockets、MQTT、RabbitMQ、Nanomsg経由で接続できる制御API
- 03usrsctpを利用したWebRTC Data Channelsに対応(オプション)
- 04C、Lua、Duktapeで独自のプラグインを作成可能
- 05ICE Lite、TURN/STUN、NAT 1:1設定など、ICE処理を構成可能
- 06BoringSSLのオプション対応と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 とは?
- 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
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
Raspberry Piからマルチコアサーバーまで、汎用ハードウェアをSIP/VoIPスイッチに変えるソフトウェア定義型の通信基盤。
Kamailioは、大規模なVoIP、電話、リアルタイム通信プラットフォーム向けのオープンソースSIPシグナリングサーバーです。
Go製のセルフホスト型ビデオ会議サーバー。WebRTCを利用し、ブラウザベースのクライアントから接続できます。
LiveKitを基盤とするセルフホスト型のオープンソースWeb会議サーバー。翻訳、文字起こし、要約に対応するAI会議エージェントも利用できます。
Agoraのリアルタイム音声・動画・メッセージングを活用した、Web・Windows・macOS向けのオープンソースオンライン授業クライアント。