Repolode
meetecho

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

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト