ユーザ用ツール

サイト用ツール


サイドバー

最新の10件
一覧
webapp:jitsi

Jitsi Meet

このページは主に Jitsu Meet をセルフホストなページです. Jitsi Meet の利用者向けの情報は以下のページへ.

Install

マシンスペックは以下のページは4Core 8GB RAM くらいあれば十分となっている. 規定値のビデオ解像度が高いのでこれを下げてRAM利用量を下げるともっとスペックに低いマシンでも大丈夫そう. 手元で試した感じではビデオを720p → 480p,ヒープ最大サイズを3GB → 1GB にして動かしてみている, 2Core 1GB RAM(swap 2GB)では辛く数人まで.4GB RAMのマシンで7人参加でCPU20%程RAM 2GB程利用と余裕がある感じ.

Machine SizingThe Jitsi-Meet server will generally not have that much load (unless you have many) conferences going at the same time. A 4 CPU, 8 GB machine will probably be fine.
The videobridges will have more load. 4 or 8 CPU with 8 GB RAM seems to be a good configuration.

* DevOps Guide \(scalable setup\) · Jitsi Meet Handbook

8CPU, 8GB RAM ではVPSではちょっと高いので利用頻度が低いのであればクラウドでスポットで動かすのがいいと思う.

Debian buster amd64

Debian 公式パッケージにはまだない

Jitsi が提供しているDebian/Ubuntu向けパッケージを利用した.Debianの場合10(buster)以降,Ubuntuの場合18.04 (Bionic Beaver)以降.amd64のみでpkg-srcもリポジトリにはない.

This document describes the required steps for a quick Jitsi Meet installation on a Debian-based GNU/Linux system. Debian 10 (Buster) or later, and Ubuntu 18.04 (Bionic Beaver) or later are supported out-of-the-box.

*

Self\-Hosting Guide \(Debian/Ubuntu server\) · Jitsi Meet Handbook

導入したのはさくらのVPS 1G(実際動かしてみるとRAM 2GB以上実際にミーティングをすると4GBは欲しい).Debian buster amd64 のapache2 httpd 導入済み環境. 入れてない場合はapache2かnginxを導入しておく.(httpdを使わず直に立てる設定もあるようだが未検証)

専用の(サブ)ドメインを用意してHTTPS certificatesを前もって作成しておく.

Let's encrypt用の /usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh もあるが未使用未確認.

Jitsi package repository の登録

$ echo 'deb https://download.jitsi.org stable/' | sudo tee /etc/apt/sources.list.d/jitsi-stable.list
$ wget -qO -  https://download.jitsi.org/jitsi-key.gpg.key | sudo apt-key add -

Jitsi の導入

$ sudo apt update
$ sudo apt install jitsi-meet

hostnameや証明書のファイルを聞かれる.

Configuring jitsi-videobridge2

The value for the hostname that is set in Jitsi Videobridge installation.
The hostname of the current installation:

前もって作ってあるので I want to use my own certificate を選ぶ.

 ┌──────────────────────────────────────────────────────────┤ Configuring jitsi-meet-web-config ├──────────────────────────────────────────────────────────┐  
  │ Jitsi Meet is best to be set up with an SSL certificate. Having no certificate, a self-signed one will be generated. By choosing self-signed you will   │  
  │ later have a chance to install Let’s Encrypt certificates. Having a certificate signed by a recognised CA, it can be uploaded on the server and point   │  
  │ its location. The default filenames will be /etc/ssl/--domain.name--.key for the key and /etc/ssl/--domain.name--.crt for the certificate.              │  
  │                                                                                                                                                         │  
  │ SSL certificate for the Jitsi Meet instance                                                                                                             │  
  │                                                                                                                                                         │  
  │                       Generate a new self-signed certificate (You will later get a chance to obtain a Let's encrypt certificate)                        │  
  │                       I want to use my own certificate                                                                                                  │  
  │                                                                                                                                                         │  
  │                                                                                                                                                         │  
  │                                                                         <Ok>                                                                            │  
  │                                                                                                                                                         │  
  └─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘  

前もって作っておいた証明書のパスを指定. Let's encrypt だとこんな感じなので規定値のものを書き換える

  SSLCertificateFile /etc/letsencrypt/live/jitsi.example.org/fullchain.pem
  SSLCertificateKeyFile /etc/letsencrypt/live/jitsi.example.org/privkey.pem
                                                                                                                                                              
                        ┌────────────────────────────────────┤ Configuring jitsi-meet-web-config ├────────────────────────────────────┐                        
                        │ The full path to the SSL key file on the server. If it has not been uploaded, now is a good time to do so.  │                        
                        │                                                                                                             │                        
                        │ Full local server path to the SSL key file:                                                                 │                        
                        │                                                                                                             │                        
                        │ /etc/ssl/jitsi.example.org.key_____________________________________________________________________ │                        
                        │                                                                                                             │                        
                        │                                                   <Ok>                                                      │                        
                        │                                                                                                             │                        
                        └─────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ 

┌───────────────────────────────────────────────────┤ Configuring jitsi-meet-web-config ├───────────────────────────────────────────────────┐ │ The full path to the SSL certificate file on the server. If you haven't uploaded it, now is a good time to upload it in another console. │ │ │ │ Full local server path to the SSL certificate file: │ │ │ │ /etc/ssl/jitsi.example.org.crt___________________________________________________________________________________________________ │ │ │ │ <Ok> │ │ │ └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘

apache2では /etc/apache2/sites-available/jitsi.example.org.conf が作られて a2ensite されている.

nginxでは /etc/nginx/sites-available/jitsi.example.org.conf

※apache2とnginxが両方入っている状態だとnginxの設定だけが作られるので両方入れていてapache2でサービスしたい場合は注意.

port開放

  • 80 TCP
  • 443 TCP
  • 10000 UDP

もし,NATの内側ならNAT越えの設定が必要

Network description
This is how the network looks:

                   +                           +
                   |                           |
                   |                           |
                   v                           |
                  443                          |
               +-------+                       |
               |       |                       |
               | Nginx |                       |
               |       |                       |
               +--+-+--+                       |
                  | |                          |
+------------+    | |    +--------------+      |
|            |    | |    |              |      |
| jitsi-meet +<---+ +--->+ prosody/xmpp |      |
|            |files 5280 |              |      |
+------------+           +--------------+      v
                     5222,5347^    ^5347   4443,10000
                +--------+    |    |    +-------------+
                |        |    |    |    |             |
                | jicofo +----^    ^----+ videobridge |
                |        |              |             |
                +--------+              +-------------+

siteに接続して確認

https://jitsi.example.org/

とりあえず規定値でも普通に使える感じ

RAM1GBのVPSで試しているがswapも結構使ってしまっている 動かすだけでも2GBくらいは欲しい

setting

ビデオ解像度を下げる

/etc/jitsi/meet/jitsi.example.org-config.js を編集.

diff --git a/jitsi/meet/jitsi.example.org-config.js b/jitsi/meet/jitsi.example.org-config.js
index 390ac8b..6fdb28b 100644
--- a/jitsi/meet/jitsi.example.org-config.js
+++ b/jitsi/meet/jitsi.example.org-config.js
@@ -106,23 +106,23 @@ var config = {
     // Video
 
     // Sets the preferred resolution (height) for local video. Defaults to 720.
-    // resolution: 720,
+    resolution: 480,
 
     // w3c spec-complrant vin o constraints to use for video capture. Currently
     // used by browsers that return true from lib-jitsi-meet's
     // util#browser#usesNewGumFlow. The constraints are independent from
     // this config's resolution value. Defaults to requesting an ideal aspect
     // ratio of 16:9 with an ideal resolution of 720.
-    // constraints: {
-    //     video: {
-    //         aspectRatio: 16 / 9,
-    //         height: {
-    //             ideal: 720,
-    //             max: 720,
-    //             min: 240
-    //         }
-    //     }
-    // },
+    constraints: {
+        video: {
+            aspectRatio: 16 / 9,
+            frameRate: {
+                max: 15
+            },
+            height: {
+                ideal: 480,
+                max: 480,
+                min: 120
+            }
+        }
+    },
 
     // Enable / disable simulcast support.
     // disableSimulcast: false,

デスクトップ共有のフレームレート設定

/etc/jitsi/meet/jitsi.example.org-config.js を編集.

@@ -168,10 +168,10 @@ var config = {
     // desktopSharingFirefoxDisabled: false,
 
     // Optional desktop sharing frame rate options. Default value: min:5, max:5.
-    // desktopSharingFrameRate: {
-    //     min: 5,
-    //     max: 5
-    // },
+    desktopSharingFrameRate: {
+         min: 1,
+         max: 5
+    },

デスクトップ共有の解像度を下げたい

ハードコードされているようなので書き換えて build が必要そう.

サーバのメモリ利用量を下げる

上のビデオ解像度を下げると併用しないといけないかも?

jitsi-videobridge2jicofo のヒープ最大サイズを下げる.

/etc/jitsi/videobridge/configVIDEOBRIDGE_MAX_MEMORY=1024m を追記

$ echo "VIDEOBRIDGE_MAX_MEMORY=1024m" | sudo tee -a /etc/jitsi/videobridge/config

/usr/share/jicofo/jicofo.sh を編集して -Xmx3072m-Xmx1024m に※pkg upgrade後は再度編集が必要

-exec java -Xmx3072m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp $LOGGING_CONFIG_PARAM $JAVA_SYS_PROPS -cp $cp $mainClass $@
+exec java -Xmx1024m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp $LOGGING_CONFIG_PARAM $JAVA_SYS_PROPS -cp $cp $mainClass $@

再起動

$ sudo systemctl restart prosody jitsi-videobridge2 jicofo

デフォルト言語

/etc/jitsi/meet/jitsi.example.org-config.js を編集.

ウェブブラウザの設定が優先され,手動設定も出来る.

@@ -269,6 +272,7 @@ var config = {
 
     // Default language for the user interface.
     // defaultLanguage: 'en',
+    defaultLanguage: 'ja',
 
     // If true all users without a token will be considered guests and all users
     // with token will be considered non-guests. Only guests will be allowed to

録音ボタンを有効にする

/etc/jitsi/meet/jitsi.example.org-config.js でlocalRecordingを有効にして,

-    // localRecording: {
+    localRecording: {
     // Enables local recording.
     // Additionally, 'localrecording' (all lowercase) needs to be added to
     // TOOLBAR_BUTTONS in interface_config.js for the Local Recording
     // button to show up on the toolbar.
     //
-    //     enabled: true,
+         enabled: true,
     //
 
     // The recording format, can be one of 'ogg', 'flac' or 'wav'.
-    //     format: 'flac'
+         format: 'ogg'
     //
 
-    // },
+    },

/usr/share/jitsi-meet/interface_config.jsTOOLBAR_BUTTONS'localrecording' を追加する.interface_config.js はアップデートで上書きされそう.上書きされても恐らく機能は生きているのでスマホアプリなどでは利用できる?

    TOOLBAR_BUTTONS: [
        'microphone', 'camera', 'closedcaptions', 'desktop', 'fullscreen',
        'fodeviceselection', 'hangup', 'profile', 'info', 'chat', 'recording',
        'livestreaming', 'etherpad', 'sharedvideo', 'settings', 'raisehand',
        'videoquality', 'filmstrip', 'invite', 'feedback', 'stats', 'shortcuts',
        'tileview', 'videobackgroundblur', 'download', 'help', 'mute-everyone',
        'e2ee', 'localrecording'
    ],

YoutubeLive配信機能を有効にする

/etc/jitsi/meet/jitsi.example.org-config.js を編集.

     // Whether to enable live streaming or not.
-    // liveStreamingEnabled: false,
+    liveStreamingEnabled: true,

多分clientから配信される パケットキャプチャしたら無かったので恐らくサーバから

フロントページカスタマイズ

/usr/share/jitsi-meet 以下の body.html, head.html, static/welcomePageAdditionalContent.html あたり?

pkgアップデートで上書きされてしまった(◞‸◟)

アップデート前に要バックアップ

問題

残念ながら、何かが間違っていました

2人目がjoinするとクラッシュするようになってしまった.

インストールし直したら直ったという人が.この人は purge しているが,remove & install でも直った

$ sudo apt remove jigasi jitsi-meet jitsi-meet-web-config jitsi-meet-prosody jitsi-meet-turnserver jitsi-meet-web jicofo jitsi-videobridge2
$ sudo apt install jitsi-meet

ミーティング経過時間が 9:00:00から始まる(修正済)

※stableでも直っているので症状が出る場合はupdateを

日本時間と同じ9時間なのが怪しい?

似た症状

URL

コメント

コメントを入力. Wiki文法が有効です:
  ____   ____   ___    __    __ 
 /_  /  / __/  / _ )  / /   / / 
  / /_ / _/   / _  | / /__ / /__
 /___//_/    /____/ /____//____/
 
webapp/jitsi.txt · 最終更新: 2020/05/28 21:20 by matoken