Jitsi Meetを試してみよう

May 10, 2020 | Publisher: matoken | Category: Technology & Engineering |  | Collection: KoedoLUG | Views: 48 | Likes: 1

1 / 60 Jitsi Meetを試してみよう 小江戸らぐ 5月のオフな集まり(第214回) 2020-05-09(Sat) オンライン Zoom 開催 2 / 60 Kenichiro Matohara ● https://matoken.org ● 鹿児島から参加 ● 鹿児島らぐ https://kagolug.org – 05/23(sat)? ● 04/11 小江戸らぐ 4月のオフな集まり(第213回) ● 04/24-25 Open Source Conference 2020 Online/Spring LT 飛び入り – スマートフォンをLinuxPCのウェブカメラとして使う Iriun Webcam ● 04/29 鹿児島Linux勉強会 2020.04 – Linux上でAnBoxを利用してAndroidアプリを実行 ● 05/02 LILO&東海道らぐオンラインミーティング – LinuxのPulseAudioのエコーキャンセルモジュールがいい感じ ● 05/05 LILO&東海道らぐオンラインミーティング – VS Code + 軽量マークアップ言語で書くスライド 最近の発表 オンラインミーティングツール ● Zoom.us ● Google Meet ● Cisco Webex Meetings ● Skype Meet Now ● とかとか ● 4 月の鹿児島らぐでは Discordを利用した – ビデオは 10 人まで ( 今だけ 25 人まで ) – 画面共有は同時に複数人可能 FLOSS の物を使いたい ● 大規模だと難しいけど中小規模なら ? ● 欲しい機能 – ボイスチャット,テキストチャット ( オプション ?) – 画面共有 – ビデオチャット ( オプション ?) – ウェブブラウザ,スマートフォンで利用可能 – アカウント登録不要 – 出来れば軽いもの ( 安い VPS で賄えると嬉しい ) いくつかのツール BigBlueButton ● 老舗 ? 学校でよく見かける気がする ● サーバスペックは結構必要なので諦めた Minimum server requirements Ubuntu 16.04 64-bit OS running Linux kernel 4.x 8 GB of memory with swap enabled (16 GB of memory is better) 4 CPU cores (8 is better) – (Ubuntu 16.04?LTS だけど…… ) NextcloudTalk ● Nextcloud のアプリの一つ ● ホスティングは簡単で比較的軽いように思うけど大人 数は検証不足 ● 小規模だと Nextcloud と合わせておすすめ Riot.im ● Matrix protocol ● 部屋を作って IRC 的に使える ● 画面共有,ビデオチャットも可能 ● 多人数は未検証 @matoken:matrix.org Mumble ● 音声のみ ● Raspberry Pi でも動く ● Android 版は開発が止まっていたりする ● ビデオ対応とかしてくれたら…… – "Mumble dreams - anarcat" https://anarc.at/blog/2020-04-09-mumble-dreams/ Jitsi Meet ● OSS 界隈でよく使われている印象 (Debian 勉強会, lilo& 東海道 らぐ, LibreOffice Hackfest , MiniDebConf Online 05/28-31) – https://meet.jit.si/ 等でお試し可能 ● Ubuntu/Debian pkg や Docker があるので導入は簡単 ● 人数が増えるとともに結構スペックが必要 ● RAM 1GB/SWAP 2GB の環境に入れてみている (3 人は安定 10 人く らいでタイムアウト ) http://jitsi.kagolug.org/ ● ※Jitsi と Jitsi Meet は別の製品 その他 ● おすすめのソフトウェア,サービスがあったら教えて ください – Mozilla Hubs(3D 空間で歩き回れる ) – Icecast2( 基本一方通行 ) Jitsi Meet を試してみよう ● Jitsi Meet Jitsi ● https://jitsi.debian.social Debian ● Jitsi Meet Document Foundation ● Jitsi Meet Kagosima Linux User Group( 数人程度まで ) ● openSUSE Meet ※ 要 openSUSE(community) アカウント ● 8x8 Meetings 8×8. Jitsi をカスタムしてある.アカウン ト登録することや有料プラン (US $9.99 per user/month) にすることで追加機能が利用できる. Jitsi Meet をセルフホストしてみる ● オンライン開催:東京エリア・関西合同Debian勉強 会(2020/4/18(土)) 「 Jitsi を使ったビデオ会議サーバの作り方」が紹介さ れている ● GCP でホストしたときの情報が載っていておすすめ 前提 ● httpd(apache httpd/nginx) を導入しておく ● Jitsi 用の ( サブ ) ドメインを用意しておく ● SSL 証明書を用意しておく (Let's encrypt 用の /usr/share/jitsi-meet/scripts/install- letsencrypt-cert.sh もあるが動作未確認 ) 今回の環境 ● ホスト環境 : さくらの VPS 1G(2Core/RAM 1GB/SWAP 2GB) ● OS : Linux Debian 10(buster) amd64 ● httpd : apache httpd2(apache2 2.4.38-3+deb10u3) ● ドメイン : jitsi.kagolug.org ● SSL 証明書 : Let’s Encrypt Jitsi Meet の導入 ● 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 - ● pkg情報更新 & インストール $ sudo apt update $ sudo apt install jitsi-meet パッケージ導入時に設定を求められ る ● ホスト名を入力 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 を選ぶ 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 ● SSL鍵ファイルと証明書ファイルの場所 Full local server path to the SSL key file: Full local server path to the SSL certificate file: ● ※Let's Encrypt だとこのあたり /etc/letsencrypt/live/jitsi.example.org/fullchain.pem /etc/letsencrypt/live/jitsi.example.org/privkey.pem パッケージ導入完了 ● apache2 では /etc/apache2/sites-available/ jitsi.example.org.conf が作られて a2ensite されている ● nginx では /etc/nginx/sites-available/jitsi.example.org.conf ● httpd を reload しておく $ sudo service apache2 reload ● ※apache2 と nginx が両方入っている状態だと nginx の設 定だけが作られるので注意. port 開放 ● 以下の port を利用できるようにしておく – 80 TCP – 443 TCP – 10000 UDP ウェブブラウザで接続して確認 設定 ● そのままでも動くけど少し設定をいじる ● 以下特に説明がない場合設定ファイルは /etc/jitsi/meet/jitsi.example.org-config.js ビデオ解像度を下げる ( 最大 480p 15fps) ● /etc/jitsi/meet/jitsi.example.org-config.js を編集 resolution: 480, #既定値は 720p constraints: { video: { aspectRatio: 16 / 9, frameRate: { max: 15 }, height: { ideal: 480, max: 480, min: 120 } } }, デスクトップ共有のフレームレート 設定 desktopSharingFrameRate: { min: 1, max: 5 }, ● ※解像度 (720p) はハードコードされているようなの で書き換えて build が必要そう https://github.com/jitsi/jibri/blob/master/resources/debian-pack age/etc/jitsi/jibri/xorg-video-dummy.conf#L125 デフォルト言語を日本語に defaultLanguage: 'ja', ● ウェブブラウザの設定が優先され,手動設定も出来る 録音ボタンを有効にする localRecording: { enabled: true, format: 'ogg' }, ● /usr/share/jitsi-meet/interface_config.js の TOOLBAR_BUTTONS に 'localrecording' を追加するとブラ ウザ画面に現れる ※pkg upgrade で上書きされてしまう YoutubeLive 配信機能を有効にする liveStreamingEnabled: true, ● クライアントでパケットキャプチャしてみると見当た らなかったので多分サーバから送っている ● E2EE 対応後は ? ● (指定 URLへの配信も欲しい ) フロントページカスタマイズ ● /usr/share/jitsi-meet 以下の body.html, head.html, static/welcomePageAdditionalContent.html あたりを書き換 える ● ※pkg update で上書きされてしまうのでバックアップを その他 ( 未確認 ) ● ダイヤルイン ● 録画 ● XMPP ● アカウント管理 ● 等々 Jitsi Meet トラブル “ 残念ながら、何かが間違っていま した” ● 2 人目が join するとクラッシュするようになってし まった ● インストールし直したら直ったという人が.この人は purge しているが, remove & install でも直った (ナン で ?) https://github.com/jitsi/jitsi-meet/issues/5696 ● インストールし直し $ 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 か ら始まる ● 日本時間と同じ 9 時間なのが怪しい ? ● 似た症状 Android: When I use GMT+3 on my phone, meetings begin with 3 hours · Issue #5942 · jitsi/jitsi\-meet https://github.com/jitsi/jitsi-meet/issues/5942 サーバスペックが結構たくさん必要 ● 安い VPS では辛いスペック AWS/GCP/Azure などで使う ときだけ起動するようにしたほうが良さそう ● 無料でホストされているサービスを使う ● 8x8 の有料版を使う 回線が細いけどマシンスペックはそ こそこ高い VPS ● 立ててみた次回の鹿児島らぐで試す予定 ● ドイツ Cntabo社の VPS300 – 2Core / RAM 4GB / HDD 300GB で€ 3.99/ 月 – 回線がとても遅かったけど最近改善されてる ? – “ドイツの格安 VPS(Contabo VPS 300) を借りてセッ トアップ済サーバの OS を入れ替える” https://matoken.org/blog/2019/05/13/borrow-a-german-chea p-vps-contaba-vps-300-and-replace-the-os-of-the-setup-serv er/ Jitsi Meet 利用時の Tips Jitsi Client ● Android/iOS 版が存在する ● 8x8 用に Windows/Mac 版がある.他の Jitsi Meet server でも 利用できる ? 未検証 8x8 Video Meetings Downloads ● 非公式で Electron アプリがある ( 環境により Linux でも GPU 使えるみたい ) jitsi/jitsi-meet-electron: Jitsi Meet desktop application powered by ※Download | Jitsi にある client は Jitsi のもので JItsi Meet のも のではないので注意 ! ● 現時点では他の参加者に Firefox が居ると接続の信頼性 が低下するのでアナウンスしておく https://wiki.debian.org/DebianEvents/internet/2020/MiniDebCon fOnline Use Chromium, or all participants (not only Firefox users) will suffer from less reliable connection.This is due to Jitsi requesting experimental simulcast (which raises bandwidth usage at sender to greatly reduce bandwidth at receiver side for multi-party conferencing), and Firefox supporting simulcast but not yet supporting RTX to efficiently repair streams after packet loss which happens far more often with simulcast enabled. More info at https://github.com/jitsi/jitsi-meet/issues/4758 PC では Google Chrome/Chromium 推奨 ブラウザ :名前とアイコンの設定 ● chat を開くと名前の設定フォームが出てくる ● 右下の歯車マークから名前とメールアドレスが設定で きる.「 Setting」→「 Profile」 ● アイコンは Profile で設定したメールアドレスに紐付い た Gravata に設定されたアイコンが表示される ● ミーティングに入る前のトップページでも設定可能 ブラウザ :言語の設定 ● 右下のハンバーガーメニュー︙ 「 Settings」 - >「 More」 ->「 Japanise」 ● ミーティングに入る前のトップページでも設定可能 ● CPU(GPU) や回線をかなり消費する (Jitsi既定値では最大 720p x 接続台数分 ) ので絞りたい ● 右下のハンバーガーメニュー︙ 通話品質を管理する ->低画質 / オーディオのみ ● 再接続すると要再設定 ● この設定はビデオだけで画面共有には反映されない ※オーディオのみのでも画面共有は強制 (Android アプリの音声 のみモードなら画面共有されない ) ブラウザ :通話品質の設定 セキュリティ ? ● 知らない人に入ってほしくない – 会議室名を複雑に – パスワードを設定する ( 会議室に入室する必要があ る ) – 特定ユーザを退出させることも可能 – 退出させて入ってくる前にパスワード設定 (再設 定 ) トラブル等 ● Jitsi Meet でミーティング中に遭遇したトラブルとか ● 他のサービスと共通のものも ブラウザ :Brave で音が出ない ● 接続時にマイクスピーカーカメラを許可しても制限さ れている ? ● 追加で許可が必要 ブラウザ :Chromium でマイクを有効 に出来ない ● マイクを allow にできない ● 初期状態で起動して回避できた $ chromium --user-data-dir=`mktemp -d` Chromium でマイクデバイスを選択で きない ● スピーカデバイスは選択できるけ どマイクデバイスは選択できない ● 未解決 – default で動いているようなので default を利用したいデバイスに ● Google Chrome , Electron アプリでは 症状が出ない プレゼンテーションモードで画面共 有できない ● 画面共有にウィンドウ共有を使うとき LibreOffice Impress 等を共有した後プレゼンテーションモードにす ると別の新しいウィンドウが開くので共有できない, プレゼンテーションモードにした後に画面共有する ● 若しくはウィンドウではなく画面全体を共有する Android:ボリュームを最低まで下げ ても一定以下の音量にならない ● ハウリングを起こしてしまう ● 可能ならイヤホンやヘッドセットを使う ● Jitsi の通話中に設定でサウンドデバイスを 「電話」にするとましになる ● 話さないときはミュート Android:画面共有が見られない ● 音声のみモードでは画面共有が見られないので設定で 音声のみモードを無効にする Electron 版アプリの AppImage が起動 できない ● amd64 版は AppImage があるが Debian では例によって sandbox エラーになるので展開して権限付けて動かす $ sudo ./jitsi-meet-x86_64.AppImage –appimage-extract $ sudo chown root squashfs-root/chrome-sandbox $ sudo chmod 4755 squashfs-root/chrome-sandbox $ squashfs-root/AppRun ● 別解 $ sudo sysctl kernel.unprivileged_userns_clone=1 細い回線やスペック不足だと不安定 ● Jitsi Meet はマシンのスペックが追いつかなくなると音 も割れて聞き取れなくなる ● 再接続すると復帰するのでその後画質を落とす ● Zoom.us では cpulimt で絞ったりしてもビデオは落ちる けど音声は粘る $ ps -ef|grep -i zoom | awk '{print $2}' | xargs -i{} -n1 cpulimit -b -l 50 -p {} 画面共有の画質変更が出来ない ● 画面共有の解像度はハードコードされている (FPS は落と せる ) ● source を修正して自分で build する ( 未だやったことがない ) https://github.com/jitsi/jibri/blob/master/resources/debian-package/etc/jitsi /jibri/xorg-video-dummy.conf#L125 ● 共有元側で解像度を落としておく ● OBS Studio などでビデオ共有機能で画面を共有する 余録 ) 低解像度で画面共有 ● サブモニタや仮想モニタの解像度を落としてそこに映 した画面を共有する (VGA くらいまで ?QVGA はギザギ ザになって駄目だった ) ● html プレゼンテーションの場合は Google Chrome/Chromium の app mode が余計なタブなどが表示 されなくて便利 $ chromium --app=$URL Google Chrome/Chromium で WebRTC 確認 ● chrome://webrtc-logs/ ● chrome://webrtc-internals/ Google Chrome/Chromium で GPU確認 ● chrome://gpu/ ● 以下のあたりが使えるようになると軽くなりそう Hardware Protected Video Decode: Unavailable Video Decode: Unavailable まとめ ● Jitsi Meet成熟しきってない感じだけど案外使える ● とりあえずの導入は簡単 (パッケージングおかしいか ら Docker がいい ?) ● サーバスペック結構必要クラウドでスポット可動 ● クライアントスペックも結構必要だけどオーディオと 画面共有のみにしてしまうことも (720p x 参加人数の 動画が再生できて自分の動画も送り出す ) 奥付 ● スライド元ページ https://wiki.matoken.org/webapp/jitsi( ホスティングメモ ) https://wiki.matoken.org/videomeeting/jitsi( 利用メモ ) ● 発表者 : KenichiroMATOHARA https://matoken.org/ ● 利用ツール : LibreOfficeDev 7.0.0.0.Alpha0+ Impress + pdfpc ● ライセンス : CC BY-NC-SA 4.0

小江戸らぐ 5月のオフな集まり(第214回)
https://koedolug.connpass.com/event/174883/
 

Comments

You must log in to comment

×

Modal Header

Modal body