Ubuntu Weekly Recipe

第610回 Nextcloud Talkでリモートミーティング

この記事を読むのに必要な時間:およそ 6 分

Nextcloud Talkで通話する

ようやく本題のビデオ通話機能の話にたどり着きました。ところが,この手の機能を紹介する上で最大の問題は「テストする相手がいないこと」です。そこで今回は,どこのご家庭にも1台ずつ存在するであろう,ノートPCとスマートフォン間で通話をしてみます。

まずアカウントの作成です。現在のNextcloudは,管理者がアカウント名を決めて作成する方式になっています。Nextcloudの設定でメールサーバーを登録しておけば,パスワードは空にしつつメールでユーザーにパスワード登録依頼を送ることは可能ですが,アカウント名については事前に決める必要があります。よくあるサービスのようにアカウントも含めてユーザーに決めてもらいたい場合は,Registrationアプリなどを併用しましょう。

今回は新しいユーザーの情報をすべて管理者が入力する方法を紹介します。まずは画面右上の「ユーザー」を選択し,ページの左に表示される「新しいユーザー」を選択します。

図11 最低限必要なのはアカウント名とパスワードもしくはメールアドレス

画像

次にAndroidもしくはiOSのアプリをスマートフォンにインストールしておきましょう。ちなみにこれらのアプリはNextcloud本体(つまりはオンラインストレージの同期アプリ)とは別になっている点は注意しておいてください。

あとは構築済みのNextcloudサーバーのURLと,先ほど作成したアカウント情報をアプリに入力するだけです。次にスマートフォンもしくはデスクトップ側のどちらでもかまわないので,チャットを開始しておきます。その後,⁠通話の開始」ボタンを押せば,通話を開始します。ちなみにスマートフォンとデスクトップどちらも「通話の開始」ボタンを押さないと通話開始にならないようです。

図12 デスクトップ・スマートフォンともにカメラ・オーディオへのアクセス権限を与える必要がある

画像

通話中の画面下に表示されるボタンで消音やビデオの停止が可能です。海外のテレビ局との中継中に子供が部屋に入ってきてしまった場合に役に立つでしょう。

また,デスクトップ版に関しては同じところにあるディスプレイっぽいボタンを押すことで画面を共有できます。デスクトップ全体はもちろん,個別のウィンドウのみを共有することも可能です。

図13 画面共有状態をスマートフォンから見た例

画像

上記画像では下部に共有画面,上部に相手のカメラ映像,右上にインカメラが表示されています※6⁠。

※6
大人の事情でカメラ映像は部屋の扉のみになっていますが,本来のカメラには人間が写っているはずです。もちろん音声だけで通話に参加することも可能です。

グループ通話の設定方法

グループで通話する場合,チャットそのものもグループチャットにする必要があります。

図14(左) 左上の「新規チャット」から任意の文字列を入力
図15(右) 右にある「参加者を追加」からメンバー追加

画像 画像

上記の手順でグループチャットルームを作成できますので,あとは通常の通話と同じように「通話を開始」ボタンを参加者が押すだけです。

図16 デスクトップ側から見た3者通話+画面共有の例

画像

上記の画像だと全員がカメラを切っている状態です。カメラをオンにすると画面下のアイコン部分にそれぞれのカメラ映像が表示されます。上記の例ではスマートフォン側はLTE回線を利用しましたが,音声・映像ともに品質に特に問題はありませんでした。

画面右にある「リンクをコピー」を選択し,そのURLを他のユーザーと共有することで,そのユーザーをグループチャットに招待できます。Nextcloud上にアカウントを持っていなくても,共有されたURLから「ゲスト」としてチャットに参加可能です。また,⁠リンクをコピー」のさらに右にあるドロップダウンメニューからは,グループのパスワードの設定やゲストの参加を許可するかどうかを変更できます。ゲストの参加を不許可にした場合,リンクURLもコピーできなくなります。

同じ欄の「Enable lobby」は発言を「モデレータ」のみに限定するモードです。チャットルームの作成者は自動的にモデレータになっており,モデレータは他の参加者をモデレータに昇格・降格できます。特定の講師のみが発言できるセミナーモードのような用途を想定しているようです。

会議の開催でリモートワークにメリハリを

画面右上の「設定」から「通話」を選択すると,Nextcloud Talkそのものの設定を行えます。チャット上のコマンドの追加や各種権限の管理に加えて,STUN/TURN/シグナリングサーバーの設定も行えます。

STUN/TURNはいわゆる「NAT越え」のために使われる仕組みです。STUNでNATの有無を確認し,必要ならTURNを用いてNATを越えるための作業を行います。Nextcloud Talkで使われるWebRTCがNATを越えるために必要になる機能だと思っておけば良いでしょう。シグナリングサーバーは通話相手の状態を把握するための仕組みです。こちらはNextcloudでも対応できるのですが,負荷を考慮して大規模運用なら別のソフトウェアを使ったほうが良いようです。

本記事の執筆時はNextcloud自体をインターネット上のVPSサーバーに配置し,クライアントは家庭用のホームゲートウェイの内側ならびに一般的なキャリア(au)のスマートフォンネットワークに存在していました※7⁠。この場合はTURNの設定も不要でした。

※7
より正確にはVPSサーバー上のLXDコンテナの中にインストールしているため、NextcloudもNATの内側に存在すると言えるのですが,実際はリバースプロキシーによって,外から通信できるようになっています。

それに対してNextcloudをNATの内側に配置する場合は,TURNサーバーを別途用意する必要があります。今回は説明を省きますが,よく使われるのはcoturnです。現在サポートしているUbuntuならどれでもパッケージが存在しますので,必要ならリポジトリからインストールして設定しましょう。

STUN/TURN/シグナリングサーバーはいずれも,より本格的な運用を行う際に考慮すべき項目です。とりあえずはここで設定できると覚えておけば良いでしょう。

リモートワークの流行に伴い,インターネットを活用したリモートミーティングの仕組みが脚光を浴びています。ビジネス用途だとSkypeやZoom,Googleハングアウトなどは有名ですし,他にもDiscordのようにゲーマーがメインで使うサービスもあります。チャットサービスソフトウェアであるMattermost自身にはビデオ通話機能はないものの,これらのサービスと連携する方法を提案しています。

これらの既存のサービスと比べるとNextcloud Talkは機能的にも認知度的にも一歩下がります。また,APIが足りないため他サービスとの連携ができないとかデスクトップクライアントがないなど,用途・目的によっては「まだまだ」なのかもしれません。それでもNextcloudには「ソースコードにアクセス可能」⁠ベンダーロックインされる可能性がない」⁠クラウド恐怖症の人を説得しやすい」という強みがあります。またNextcloudそのものがオンラインストレージとしてトップクラスの機能を備えている点も重要です。Nextcloudの「ついで」にTalkも導入してしまえば良いのですから。

会社の偉い人から「なんかリモートミーティングの仕組み用意しといて。ただしお金は出せない」とか言われてしまった不幸な皆様におかれましては,Nextcloud Talkの導入も考慮に入れてみてはいかがでしょうか。それはそれとして,人類とのコミュニケーションはHPもMPも大量に消費するため,会議を開催せずに済むならそれにこしたことはありません。

著者プロフィール

柴田充也(しばたみつや)

Ubuntu Japanese Team Member株式会社 創夢所属。数年前にLaunchpad上でStellariumの翻訳をしたことがきっかけで,Ubuntuの翻訳にも関わるようになりました。