リモート(ウェブ会議)でユーザテストやインタビューをする時、こちらのカメラ映像に時計を出せないかなとふと思いました。例えばパイロットセッションをする際、どのタスクが何分くらいかかるか目安を把握するのも重要なわけですが、画面に共通の時計が出てれば記録係や見学者の人とも疎通しやすいかなと。UTの本番ではあまりタイムプレッシャーになるようなことは避けるのが王道ですが、まぁパイロットなら利便性の方が勝るかなと。
で、パッと思いついた方法は、別PCでグリーンスクリーン上に時計(ストップウォッチ)を表示した画面を作って、ATEM Miniでクロマキー合成する、というやり方でしたが、少し調べてみたらもっと簡単にソフトウェアだけで実現可能でした。
■OBS Studioの「テキスト」ソースを使う
OBS Studioは本ブログでも以前に取り上げたフリーの配信ツールです。最近のアップデートで仮想カメラ機能が搭載されました。仮想カメラというのはOBS Studio上で作った画面を、あたかもWebカメラ入力であるかのように見せかける仕組みです。これをONにすると(右下のボタンで「仮想カメラ開始」をクリックするだけ)、ZoomやTeams、Skypeといったウェブ会議ツールのカメラ選択メニューに「OBS Virtual Camera」が出現し選択できるようになります。
そしてOBS StudioにはWebカメラを初めとする様々な映像入力ソースに加え「テキスト(GDI+)」という項目があり、OBS上で指定した固定テキストもしくは特定のテキストファイルの中身を画面上に指定したフォントやサイズで合成することができるのです。テキストファイルを指定した場合、その中身はリアルタイムで反映されるので、時刻やタイマー、ストップウォッチを文字列で「00:00:00」みたいに上書き保存し続けるソフトさえあれば、、、ということで、まさにそれをしてくれるソフトがSnazです。
このOBS StudioとSnazの組み合わせはこちらの記事で知ることができました。詳しい設定方法などもこちらをご覧ください。
OBSでカウントダウンや時計が表示できるタイマー”Snaz”の使い方 | しふぁチャンネルのゲーム実況ブログ (shifa-channel.com)
で実際にウェブ会議で使う想定で作って見たレイアウトがこちら。フォントカラーの他に縁取りの色や太さも指定できるので背景映像に埋もれて醜くなるのを避けることができます。
■時計以外にもテロップを入れられることの価値は?
OBSは複数のソースを自在に重ねることができるので、ついでにインタビュー中の話題をテロップとして入れてみたらどうかな?と思って画面下部に字幕のように入れてみました。こんな感じでインタビュワーが聞きたいことや、ユーザテストでのタスク内容、ダミー個人情報のような提示情報を重ねられると便利なんじゃないでしょうか。多くのウェブ会議システムでは画面共有機能があるので、メモ帳でもWordでも使って映せばイイジャナイ?と思われるかも知れません。しかし、ユーザテストではそもそもユーザがプロダクトを操作する様子を画面共有を使って映してる場合もあり、そのチャンネルを占有しないで簡単な情報を伝えられるメリットはあるんじゃないかと。
また複数行も扱えるので、議事録テキストファイルを指定すれば、こんな感じで記録を参加者間で確認しながら会議を進めることもできるかも知れません。設定画面内の「チャットログモード」という機能を有効にすると、テキストファイル中の指定した最後の行数だけを表示してくれる(UNIXでいうtailフィルタ)ので、書き進めるにつれてスクロールしていく感じになります。
■簡単な専用ツールを作ってみようかなって
基本的な機能としてはOBS Studio単体で実現できるんですが、実査/会議中にリアルタイムでテキストを書き換えるのはちと手間です。要はテキストファイルに都度落とし込めばいいので、例えばインタビューのスクリプトに沿った話題の見出し一覧をクリックするとそれが書き出されるとかいうツールがあったらヨサゲ。実際、OBSの標準機能だとセンタリングや折り返しに制限があるので、いい感じに前後にスペースを入れてくれるような処理を入れるといいかも。
また議事録モードに関しても、任意の箇所にスクロールして戻る、みたいなことが標準ではできないので、そういう部分も考慮したテキストファイルをリアルタイム生成する、みたいな。
そんなに難しい仕組みではないので、たぶん1日仕事でしょう。.NET 5.0の練習にいいお題かも知れない。年末年始の宿題ですかね。