Janus WebRTC Server[edit]

Build (Rocky Linux 9)[edit]

ツール[edit]

dnf -y install jansson-devel libconfig-devel libmicrohttpd-devel meson ninja-build
dnf install libnice
dnf install libnice-devel
dnf install libwebsockets
dnf install libwebsockets-devel
libsrtp2 (SRTP: Secure Real-time Transport Protocol)[edit]
#git clone https://github.com/cisco/libsrtp.git  # このままだと libsrtp3 がダウンロードされる
git clone --branch v2.5.0 --depth 1 https://github.com/cisco/libsrtp.git libsrtp
cd libsrtp
./configure --prefix=/usr/local --enable-openssl
make -j"$(nproc)"
make install
最新版[edit]

Janus[edit]

git clone https://github.com/meetecho/janus-gateway.git
cd janus-gateway
./autogen.sh
./configure --prefix=/usr/local/janus --enable-rest --enable-websockets --enable-data-channels --disable-rabbitmq --disable-mqtt --disable-docs --enable-libsrtp2
make -j"$(nproc)"
make install
make configs

設定[edit]

設定ファイル[edit]

/usr/local/etc/janus/janus.jcfg[edit]
api_secret = ""        # Janus REST API 用の認証キー
admin_secret = ""      # Janus 管理用 API の認証キー
/usr/local/etc/janus/janus.transport.http.jcfg (デフォルト)[edit]
http = true
port = 8088      # for REST
/usr/local//etc/janus/janus.transport.websockets.jcfg (デフォルト)[edit]
ws = true
ws_port = 8188   # for Web Socket
/usr/local/etc/janus/janus.plugin.audiobridge.jcfg[edit]
general: {
 # 必要に応じて設定(例)
 # string_ids = true
 # rtp_port_range = "50000-60000"
 # local_ip = "1.2.3.4"
 # events = true
}

room-1234: {
 description = "Demo Room"
 is_private = false
 secret = "room-secret"    # ルーム操作用パスワード
 pin = "room-pin"          # 参加時パスワード(必要なら)
 sampling_rate = 48000     # or 16000 
 spatial_audio = true
 audiolevel_ext = true
 audiolevel_event = true
 audio_active_packets = 100
 audio_level_average = 25
 record = false
 # record_dir = "/var/recordings/"
 # record_file = "room-1234.wav"
 # allow_rtp_participants = false
 # rtp_forward_* = ...     # 外部RTP転送を使う場合のみ
}

Systemd[edit]

janus.service[edit]
[Unit]
Description=Janus WebRTC Server
After=network.target

[Service]
Type=simple
ExecStart=/usr/local/bin/janus -F /usr/local/etc/janus
Restart=on-failure
User=root

[Install]
WantedBy=multi-user.target

Apache で HTTPS, WSS リバースプロキシ[edit]

仮想ホスト設定(WSS対応)[edit]

STUN/TURN(coturn[edit]

MariaDB の設定[edit]

coturn 用のDBを作る.[edit]
mariadb -u root -p
MariaDB [(none)]> create database coturn_db default character set utf8mb4;
MariaDB [(none)]> grant all on coturn_db.* to coturn_USER_4 identified by 'coturn_PASSPass8';
MariaDB [(none)]> flush privileges;

mariadb coturn_db -u root -p < /usr/share/coturn/schema.sql

turnadmin -k -u webrtc_user_5 -r janus.jogrid.net -p webrtc_pass_23

0x205bbb5552ff14bb6269d59cb30dfd96

MariaDB [coturn_db]> INSERT INTO turnusers_lt (name, realm, hmackey) VALUES ('webrtc_user_5', 'janus.jogrid.net', '0x205bbb5552ff14bb6
269d59cb30dfd96');
Query OK, 1 row affected (0.000 sec)

MariaDB [coturn_db]> select * from turnusers_lt;

  1. ------------------+---------------+------------------------------------+
    realmnamehmackey
  2. ------------------+---------------+------------------------------------+
    janus.jogrid.netwebrtc_user_50x205bbb5552ff14bb6269d59cb30dfd96
  3. ------------------+---------------+------------------------------------+
 
 

トップ   新規 ページ一覧 検索 最終更新   ヘルプ   最終更新のRSS