古事連記帖

趣味のこと、技術的なこと、適当につらつら書きます。

リモートワークで OBS Studio と戯れた話し

新型コロナウイルス感染症への対応として所属する会社でリモートワークが始まり、早 4 ヶ月が経ちました。
2 月と言えば、ダイヤモンド・プリンセス号が日本で隔離措置を受けていた頃です。世界各地で感染者が増えつつある中、日本での感染爆発が起こるかどうか?というところでもありました。それを思うと、会社の意志決定の早さを感じています。

リモートワークでオフィスと変わらぬ働き方をするために、様々な試行錯誤をしてきました。その中で感じたことは:

  • スピーカー出力でオンラインミーティングに参加すると、相手の声が耳に入ってこないことがわかった
  • -> イヤホン・ヘッドフォンを使用することで (自分は) 問題が解消したと思っている
  • 顔が見えないことは相手の声が入ってこないことの一因だと思っていたが、上記により (自分は) 実はそうではないと感じた

一方で、地方に拠点を持っているこの会社で、これまで「東京本社」と「地方拠点」で塊があって、そこを繋げる導線が Skype であったり*1、Slack であったりといったものがあり、どうしても「距離の不均一」を感じてしまう部分がありましたが、一斉にリモートワークになったことで「距離が均一」になり、地方拠点のメンバーとの交流が積極的になった一方、所属する拠点との距離は離れてしまい、いっそうの自己表現を求められるようになってきたと感じています。
例えば、社内では定期的にコミュニティ勉強会のようなものがおこなわれています。リモートワーク環境下においてオンラインでの開催になりましたが、検証環境が家にあって、それをそのまま発表できるという利点を生かした発表を目の当たりにしたりと、表現の幅が広がったなと感じていますし、利点を生かした何かをもっと追求するべきだとも思っています。

仕事中においても、Slack による「文字でのコミュニケーション」では不足する状況が来たとき、遠慮無しに突発でオンラインミーティングの場が立ちあがり、状況を声で説明したり、画面を共有して見せたりという環境が生まれつつあります。こういった場が生まれることも、自分の会社の良いところでもあり、これからの仕事のあり方を示すものだなあと感じています。これらで普段オフィスでやっていることがおおよそ再現できている感じがしています。

そんな中、自分がやってきたことは、常に自分をカメラで映すことでした。特に理由は無いんですが、試行錯誤していく中で、自分が率先して顔を出して参加することにより、メンバーが顔を出しやすい環境を作り上げたいという気持ちもありました。
そして、ただ顔を出すだけではなく、自分らしい何かを表現したいというところもあり、OBS Studio を使った表現に行き着きました。

OBS Studio とオンラインミーティング

会社では Meet を使ったミーティングがおこなわれています。OBS Studio はそのままだとカメラとして使うことができませんが、OBS VirtualCam を使うことで仮想カメラとして出力することができるようになりました。こうなれば、OBS Studio ができることをフル活用できるようになります。使い方はいろいろな方が既に書かれているのでそちらに譲ります。

最初にやったことは、テレビ番組っぽくしたくなったので「中継」のテロップを作るところからスタートしました。Adobe Illustrator では、テロップ制作に使えるようにか、映像規格にあわせたテンプレートがあらかじめ用意されています。カメラで出力できる画面比率を確認して生成することにより、おきたいものをそのままポンおきできるのが魅力です。

f:id:ChiiAyano:20200628230916p:plain
今はこれで落ち着いていますが、他にもいろいろ作りました

そして、obs-web-socket を使うと、その名の通り WebSocket 経由でいろいろな制御ができることにも気付きました。これを使って最初に作ったのは時計でした。テレビ番組っぽい何かに近づけるため、例えば 12 時間表記にしたり、正午は 0 時と見せたり、区切りの時間に数秒だけ表示したり…みたいなことも設定でできるようにしたりしました。

f:id:ChiiAyano:20200628231211p:plain
時刻の表現方法もいろいろ工夫したりしましたね

さらに、ニュース番組などではおなじみの「天気」も出せるようにしました。OpenWeatherMap を利用したシステムで、まだアニメーションさせながらテロップ切り替えなどの手法がわかっていないので、現時点では「住んでいるところの現在の天気」を出すまでにとどまっています。

f:id:ChiiAyano:20200628231633p:plain
割とそれっぽく見えてくるやつ

最近は「気軽に相談に来て欲しい」という気持ちから、常に Meet でルームを立ち上げたままにしています。そこで自分が離席していることを明示するために「離席中」のシーンを作ってるんですが、OBS Studio をフォアグラウンドにして、差し替えるシーンを選んでトランジション…が面倒になってきたので、画面ロックをフックに自動でシーン切り替えをできるようにもしました。マイクだけは OBS Studio で制御していないので、Meet 側でマイクをオフにする手間はまだ残っていますが、かなり便利になりました。

作ったツールの公開とオープンソース

作った 3 つのツールは github にまとめてリリースしました。
使い方などはそこまで詳しく書いてなかったり、天気を表示するツールでは OpenWeatherMap の API を用意する必要があったりと面倒なところはありますが、それでもよければぜひ使ってみてください。
基本的にはシーンに用意したラベルに対して文字列を差し込むだけなので、OBS Studio で表示したいところにラベルを配置し、フォント設定をしておけばいいはずです。
github.com

ツールは以下
github.com

最後に

緊急事態宣言も解除され、リモートワークも解除される企業も多くあります。一方で、海外では未だに感染者が増え続け、日本でも緊急事態宣言後から感染確認者の数が上昇傾向にあります。
リモートワークの重要性が増してきています。その中で自分をどう仕事現場で表現していくかがますます求められていく、そんな気がしています。
作ったツールはネタではありますが、表現の方法の一つとして、これらをそのまま使うもよし、新しい何かを作ってみるもよし、そんな手助けができたらなと思っています。

*1:他のリモート会議システムも含みます