働き方改革です!
電子会議システムを評価してみよう!
と言うコトで、Apache OpenMeetings を試してみた…
最初は Ubuntu で動かしたんだけど上手く動かせなくて、ならば!と言うことで Windows でも試してみました
多分、どちらも上手く動いていないんだと思うけど、何とか使えるかな?と言うところまで漕ぎ着けた
とても面倒臭いので、書き残しておこう…
最初に
OpenMeetings は、起草時点で Flash 版の 4.0.8 と WebRTC 版の 5.0.0-M1 って言う版があるそうです
もうすぐ Flash のサポートが終わってしまうようなので改変中なんだと思います
※ WebRTC 版のミーティング機能は nextCloud でサクッと動きますよ!
試した範囲では、Flash 版も WebRTC 版も今ひとつなのかな…
Java が得意ではないので設定などがおかしい可能性が否定できない..
Windows 準備編
最初に、なんとなく動くようになったのが Windows なので、コッチカラ…
Windows は、Windows10 Pro 64Bit Version 1903 をサーバーにしてみました
Tomcat で動いてるみたいなので、解凍すれば動くかな!なんて考えていたら、全然動かなくて、環境を整備してからで無いとダメでした..
また、コレがキツい….
OpenMeetings のサイトには、3ステップ!みたいなことが書いてあるけど、よく見ると、そのすぐ下にいっぱい手順が書いてありますので頑張って必要なソフトを収集しましょう!
1.Kurento Media Server
5.0.0-M1 を動かすには、Kurento Media Server と言う WebRTC のメディアサーバーを拾ってきます
Flash 版には要りません
https://github.com/kirushyk/kms-windows
三年前の更新になっていますが、ここから拾ったもので動くようです
Ubuntu は、開発元の Install Guide の Local Installation の手順で行くそうですが、Windows 版は、適当なディレクトリに解凍するだけです
ちなみに、開発元ではこんなこと書いてあります
Kurentoチームによって提供されたDockerイメージを使用する。 Dockerイメージを使用すれば、どのホストマシンでもKurentoを実行できます。たとえば、FedoraまたはCentOSシステム上でKMSを実行することは可能です。 理論的にはWindowsで実行することも可能かもしれませんが、これまでのところその可能性は探求されていないので、あなたはあなた自身の責任であるでしょう。
google 先生に訳してもらいました…
探求者らしい…..
WebRTC 版の OpenMeetings を動かすときは、先に Kurento Media Server を動かせば良いだけです
起動はバッチファイルに、こんな感じ..
cd C:\Users\user\Downloads\kms-windows-master\kms-windows-master\bin
kurento-media-server.exe --config-file C:\Users\user\Downloads\kms-windows-master\kms-windows-master\etc\kurento\kurento.conf.json --modules-path C:\Users\user\Downloads\kms-windows-master\kms-windows-master\lib\kurento\modules --logs-path C:\Users\user\Downloads\kms-windows-master\kms-windows-master
user というユーザのダウンロードディレクトリに解凍してそのまま動かしています
WebRtcEndpoint.conf.ini と言う設定ファイルに、Local Installation の処にある STUN server の設定を行うそうです
free の example サーバーのリストがあるので、適当に選択して記載しておくのが良いのか…. な?
stunServerAddress=77.72.174.160
stunServerPort=3478
こんな感じで書いてある..
C:\Users\user\Downloads\kms-windows-master\kms-windows-master\bin>kurento-media-server.exe -help
kurento-media-server usage:
-h [ --help ] Display this help message
-v [ --version ] Display the version number
-l [ --list ] Lists all available factories
-p [ --modules-path ] arg Path where kurento modules can be found
-f [ --conf-file ] arg (=C:\Users\user\Downloads\kms-windows-master\kms-windows-master\etc\kurento\kurento.conf.json)
Configuration file location
-d [ --logs-path ] arg Path where debug files will be stored
-c [ --modules-config-path ] arg Path where modules config files can be
found
-s [ --log-file-size ] arg (=100) Maximum file size for log files in MB
-n [ --number-log-files ] arg (=10) Maximum number of files to save
C:\Users\user\Downloads\kms-windows-master\kms-windows-master\bin>kurento-media-server.exe -v
Version: 6.6.1~1957.g8339dd5
Found modules:
Module: 'chroma' version '6.6.1~1.g1917207'
Module: 'core' version '6.6.1~2685.ga228080'
Module: 'elements' version '6.6.1~.gcaed0f1'
Module: 'filters' version '6.6.1~188.g1330c06'
Module: 'thatoverlay' version '0.0.1~1.g8412b6b'
C:\Users\user\Downloads\kms-windows-master\kms-windows-master\bin>
ちなみに起草時点の Ubuntu 版のバージョンは 6.10 です
user@user:~$ sudo kurento-media-server -version
Kurento Media Server version: 6.10.0
Found modules:
'core' version 6.10.0
'elements' version 6.10.0
'filters' version 6.10.0
user@user:~$
細かい動作確認の方法が解りませんので、動作しているか簡単に確認する方法として
user@user:~$ curl -iX GET 127.0.0.1:8888
HTTP/1.1 426 Upgrade Required
Server: WebSocket++/0.7.0
user@user:~$ curl -iX GET 172.16.XXX.XXX:8888
HTTP/1.1 426 Upgrade Required
Server: WebSocket++/0.7.0
user@user:~$
Linux 版 (127.0.0.1) と Windows 版 (172.16.XXX.XXX) で同じ結果が帰ってきますの動いてると思います
2.データベース
MySQL,PostgreSQL,MS SQL などで動くそうです
ちなみに、Apache Derby でも動くそうですので、評価用と割り切って問題の起きにくそうな Derby で動かします
セットアップ中の指定で済みますので、放置しておきます
データベースと接続するなら、多分、コネクターを拾ってこないとダメなんだと思います
3.ImageMagick
ImageMagick で PDF を PNG 等に変換します
ホワイトボードで表示するイメージは、すべて PNG に変換されて保存されます
表計算やワープロのドキュメントも LibreOffice のコンバーターを使って PDF に変換され、その PDF を PNG に変換してホワイトボードで表示します
※ 何度もエラーするので、ログを読んで覚えました ^^;;
ですので ImageMagick は重要で convert は生命線の一つです
ここで問題なのが、convert.exe は Windows 版では用意されません
さらに面倒なのが、OS のフォーマット変換に convert というコマンドがあり、なにもしないとこっちが優先して起動し OpenMeetings はエラーします
※ これが解るまでも、随分時間がかかった…
ImageMagick の手順はこんな感じです
開発元から ImageMagick-7.0.8-48-Q16-x64-static.exe を拾ってきてインストールします
C:\Program Files\ImageMagick-7.0.8-Q16 にインストールされますので、
magick.exe を convert.exe というファイル名で同じディレクトリにコピーします
次に、Windows\System32\convert.exe より先に動くように PATH を追加します
システム環境変数の先頭に追加しました…
この辺は Windows の面倒なところかな…
C:\Users\user>convert -version
Version: ImageMagick 7.0.8-48 Q16 x64 2019-06-01 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2018 ImageMagick Studio LLC
License: http://www.imagemagick.org/script/license.php
Visual C++: 180040629
Features: Cipher DPC Modules OpenMP(2.0)
Delegates (built-in): bzlib cairo flif freetype gslib heic jng jp2 jpeg lcms lqr lzma openexr pangocairo png ps raw rsvg tiff webp xml zlib
C:\Users\user>
4.GhostScript
ホワイトボードにイメージをインポートするために、GhostScript を開発元から拾ってきてインストールします
起草時点では AGPL3 版の Ghostscript 9.27 for Windows (64 bit) を拾ってきてそのままインストールします
キレイなフォントとか使いたいなら、ここでチューニングが必須なんでしょうけど、今回は後回しです
結果は、微妙に異なる感じの画像に変換されますが、フォントが載っている PDF なら及第点っていう感じかな…?
5.LibreOffice / JODConverter
オフィス文章をホワイトボードに掲載する為に PDF -> PNG へ変換するそうで、 LibreOffice をインストールします
これも開発元から拾ってきてインストールします
起草時点では LibreOffice 6.2.4 for Windows x86_64 です
普通にインストールします
JODConverter と言うのを導入すると、LibreOffice を自動的に起動したり停止したりするらしいので導入します
https://ja.osdn.net/projects/sfnet_jodconverter/
ここから jodconverter-2.2.2.zip を拾ってきて、OpenMeetings の lib ディレクトリにコピーすればなんとなく動いています
…
[INFO] [OfficeProcessThread-0] org.artofsolving.jodconverter.office.OfficeConnection - connected: 'socket,host=127.0.0.1,port=2002,tcpNoDelay=1'
…
変換中のログの一部
※ Linux 版は結構面倒だったので、こういう所は Windows の方が融通効く感じ…
6.FFMpeg
FFMpeg は、会議の録画を変換するのに使うようです
FFMpeg は OpenMeetings のインストールページのパスをたどって、ZIP を拾ってきて解凍するだけです
起草時点では ffmpeg-20190608-b6ca032-win64-static.zip
C:\Users\user>C:\Users\user\Downloads\ffmpeg\bin\ffmpeg.exe
ffmpeg version N-94008-gb6ca032ade Copyright (c) 2000-2019 the FFmpeg developers
built with gcc 8.3.1 (GCC) 20190414
configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-amf --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt
libavutil 56. 28.100 / 56. 28.100
libavcodec 58. 52.102 / 58. 52.102
libavformat 58. 27.103 / 58. 27.103
libavdevice 58. 7.100 / 58. 7.100
libavfilter 7. 55.100 / 7. 55.100
libswscale 5. 4.101 / 5. 4.101
libswresample 3. 4.100 / 3. 4.100
libpostproc 55. 4.100 / 55. 4.100
Hyper fast Audio and Video encoder
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...
Use -h to get full help or, even better, run 'man ffmpeg'
C:\Users\user>
libmp3lame と libx264 は有効になっているので大丈夫だと思います
7.SoX
サウンドを編集するコマンドだそうで、OpenMeettings のページからたどって開発元へ行き
http://sox.sourceforge.net/
ここからインストーラを拾ってきます
起草時点では sox-14.4.2-win32.exe です
C:\Users\user>sox --version
sox: SoX v14.4.2
C:\Users\user>
Sox を入れると、なぜか wget もセットで入ってきます
ちょっと便利!
8.IcedTea Web
OpenMeetings の録画はクライアントの PC で実行します
録画するのに IcedTea Web が必要で、これはクライアントで使います
Java Web Start に変わるソフトだそうで、OpenJDK から IcedTea Web を辿ります
https://openjdk.java.net/projects/icedtea/
Java の環境がインストールされているクライアントで実行出来るようにしておきます
OpenMeetings は、public_4.jnlp とか、.jnlp というファイルを送ってきますので、
クライアントのブラウザーで関連付けるなどして .jnlp を拾ったら IcedTea Web を実行出来るように設定しておきます
ちなみに、上手く環境が育てられていませんので、化け化けです
それと、セキィリティーレベルを下げておかないと、動作しません
プログラムフォルダーから、直接 IcedTeaWeb の itweb-settings.exe をクリックして Extended applet security の
Security Level を Low Security に設定しないと動作しませんでした
以上で、準備完了だと思います
Ubuntu のパッケージ管理のありがたさが骨身にしみます
これ、ここまで理解するのに三日以上かかってます…
動作などを確認して、エラーログを睨んで、動くんじゃないかな?とおもうまで、この他に数日かかってます…
続いて、Windows 設定編かな…