📺

講義を配信する

2020/12/14に公開

背景

2020-12-01から産業技術大学院大学(AIIT)で非常勤講師を勤めている。全講義がリモートでリアルタイムに配信される上に、それを10年間見返せるように録画をする必要がある。

最低要件は以下の通り。

  • Google Meetで講義のスライドと自分のウェブカムを配信する。
  • 同時に録画する。

Google Meetには録画機能があるが、それを利用できるのはG Suite利用者(Education含む)のみである。AIITではG Suite Educationを使っている模様だが、私は非常勤講師なので使えない。

追加で私が実現したかった要件は以下の通り。

  • 高音質。リモートだと音質は画質よりも重要だと私は思う。外部のマイクを接続したい。
  • 自分の声をリアルタイムでモニタリングしながら配信したい。
  • 高画質のウェブカム。iMac付属のFaceTimeの画質はそこそこなので、改善したい。
  • 高画質のスライド。まぁ普通にやればこちらはある程度高画質になりますが…
  • 録画動画では背景を切り取ったウェブカムを載せたい。
  • 無料のソフトウェアでやりくりしたい。

基本的にはゲーム配信と同じような要件なのだが、ゲーム配信は大半がWindows環境で行われる上、配信先はMeetではなくTwitchやYouTubeであり、サービス側の録画機能以外で録画することは珍しいためあまり参考にならない。これらをMacで実現したい。

私の環境は以下の通り。

  • PC: Apple iMac Early 2019 (27in) プロセッサーとグラフィックカードを強めにしている。メモリは32GBを追加して40GBとしている。

ハードウェア

DEITY D3 (¥13,000)を新たに購入し(たが、使い勝手を考えればUSB接続のマイク、たとえばBlueのYetiのちっちゃいやつのほうがずっといいと思う。私はショットガンマイクのカッコが好きなのでこれにした)、既に家にあったAltemide Tolomeo Table (¥30,000程度)に新たに購入したSmallRigスーパーロッドクランプ(1,300)で固定した。この固定は必須ではないが、ショットガンマイクをブームスタンドのように接続するために使った。このクランプはわりと重く、華奢なトロメオの関節を痛めそうだったので最終的にはETSUMI 止めネジ(¥740)を購入した。この製品の黒い円盤部分はトロメオの頭部の上の穴よりも少し大きい。そこを介して固定することができる。


長さが足りないので2mの4極延長コードでiMacにつないだ。またD3は単4電池をバカバカ消費するので、家に転がっていたeneloopの単4電池を使った。

4極延長コードをiMacに接続するにはイヤホンジャックに挿入する必要がある。つまりPCの音が聞こえなくなる!学生がMeetに参加する音や動画の音、あらゆる通知音が聞こえなくなる!それは困るので、

  1. イヤホンをUSBで接続する、もしくは
  2. 4極プラグをUSBで接続する

必要がある。

まずは1.の方法の例。手持ちのGrace SDAC-B USB(¥18,000)を使ってイヤホンを接続した。DACである必要はまったくなく、どんな機材でもUSBからイヤホンのアウトプットが出ればよい。なんならワイヤレスイヤホンがあるならBluetoothでつなげばよい。スピーカーを使うとハウリングするので注意。
1.2.の方法のどちらでも、最もかんたんなのは、USB-CポートがあればAppleのUSB-C - 3.5 mmヘッドフォンジャックアダプタ(¥1,036)を購入すること。このアダプタはちゃんと4極に対応している。インプットとしてもアウトプットとしても使える。BootcampでWindowsを使っている場合に生じる、iMacのイヤホンジャックが4極として認識されない問題(つまりイヤホンのアウトプットとしては使えるがマイクのインプットとしては使えない)もこれによって解決する。

ソフトウェア

調べると色々と有料の魅力的なソフトウェアがあるが、ここではすべてMac付属や無料のソフトウェアでまかなっている。

Audio MIDI Setup

次のように設定した。PCの音も拾いたいため、Soundflowerをインストールしておく必要がある。Soundflowerの後進Loopbackはより直観的でよりよい選択肢だと思うが無料版には音質の制限がある。私のusecaseであればSoundflowerとAudio MIDI Setupで事足りる。

Built-in Microphone

Built-inとか言いつつ、どういうわけか外付けのDeity D3の音量である。マイクのレベルはここからは調整できないので、Soundの設定から変える。

SDAC-B

音声のモニタリング用。

Soundflower (2ch)

PC内部の音を録画したり配信したりするためにある。

Multi-Output Device

左下の+から追加。モニタリング用のデバイスとSoundflower(2ch)をオンにする。私の場合は以下のようになる。Drift Correctionは必要だった。

LadioCast(自分の声のモニタリング用)

自分の声を聞くため。マイクの電池切れなどがわかる。またYouTubeビデオなどを講義で配信したいときに音量のバランスをとるためにも自分の声をモニタリングしていたほうがよい。タイピング音など雑音がどれくらい聞こえているかもわかる。

音量は色々調整する必要がある。

Google Meet(配信用)

MicrophoneをSoundflower(2ch)にするとPC内部の音が配信できるようになる。

OBS (録画用)

Desktop Audioを追加する。デバイスはSoundflower(2ch)を選択する。

LadioCastを使っていればDesktop Audioをオンにすれば声も録音されるため、それだけオンにしておけばあとは気にする必要はない。

ウェブカム

ハードウェア

iMac付属のウェブカムでも十分なのだが、せっかく手元にクソ高いスマートフォンがあるので、iPhone XSのカメラを利用したい。

問題はスマートフォンをどうやって理想的な角度で固定するかである。今回はiPhoneの箱を改造して即席でこんな器具を作った。4時間位かかった。

ソフトウェア

iPhone側

Camoをダウンロードし、言われるがままに設定する。EpocCamなどを試していたがこちらのほうが圧倒的によい。無料版で十分(気にならない程度のウォーターマークと機能制限)。そんなに熱くならない。

iMac側

Camo Studioを言われるがままにダウンロードし、設定する。有線でiPhoneと接続すると次のように写る。

めっちゃキレイ…

リアルタイム配信用

これをGoogle Meetでウェブカムに選べば良い。Chrome(なりなんなり、Meetを開いていたブラウザ)を再起動して、次のように設定する。


色々試している。今回は使わなかったがOBS Virtual Cameraもかなり有用だと思う。Windows版もある。

録画用

バーチャルグリーンスクリーンのように背景を切り抜き、右下にウェブカム画像を載せて録画したい。しかしろくな切り抜き用ソフトがない。結局、今のところSkypeの設定画面を使うのが最もよさそうだった。

参考動画

Skypeをダウンロードし、サインインし、設定画面を開き、Audio & Videoを開くと次のようになっている:

ここでカメラを変更しようとしてもできない。Camo Studioを開き、右上のHelp &Integrationsを押し、Skypeを選ぶと、

(ここではAlready Installedになっているが)インテグレートすればCamoが追加される。

CameraをReincubate Camoに変更する:

背景は緑1色(r, g, b) = (0, 255, 0)の画像を追加する。案外調べてもでてこないので、よければ以下を使ってください:

このSkypeの設定画面は録画中常に開いている必要がある。そのため2枚目のディスプレイがあるととてもやりやすい。

OBSのSourceでDisplay Captureを追加する。

本当はWindow Captureを使いたいのだが、Macではラグが生じて厄介なので涙をのんでDisplay CaptureCropを使う。DisplayはSkypeの設定画面が写っているほうを選ぶ。

Cropはマニュアルにし、スカイプのカメラが写っている部分をうまいこと切り取る。この工程は毎回同じ場所にSkypeの設定画面を持っていかないといけないので、最も再現性が低い。私の場合はこんな感じ。

そのDisplay Captureを右クリックして、Filterを開く。左下の+からChroma Keyを追加すると透明になる。設定はデフォルトのままでいいと思う。

あとは適当にリサイズしたり場所を変えれば良い。

スクリーンシェア

ハードウェア

特になし。配信と録画に耐える強めのPCさえあればよい。

ソフトウェア

OBS

すべてこれでまかなえる。配信するほうのディスプレイのDisplay Captureを追加している…が、人によってはWindow Captureにしたりクロップしたりすればよい。Settingsは以下の通りにしている。

オプションにあるのなら、たぶんハードウェアアクセラレーションは使ったほうがいい。

録画は.mkvで保存される。このままでは使いにくいのでOBSでFile>Remux recordingsMP4にRemuxする。数GBあっても一瞬でRemuxできるので容量さえあれば気にすることではない。

ダウンスケールはふつうにBicubicでいい気もする。

配信と録画

共有するスクリーンとは別にコントロール用のディスプレイがあるとよい。私はいまのところ、iPad AirにSkypeの設定画面、とても小さくしたOBS、Meetのチャットを表示し、iMacにスライドを全画面表示したりウェブページを開いたりとスクリーンシェアしたいものを見せるようにしている。

解像度や表示サイズ

EasyResなどで解像度をいじったりもしたが、結局デフォルトに戻った。ただしウェブサイトを見せる場合はウェブサイト自体を拡大すると文字が読みやすくなる。Firefoxだと

Chromeだと

でデフォルトの表示サイズを変えられる。

Tips

  • Google Slidesの場合、左下にPointerというのがあるのでこれを使うとポインターが追いやすくなる。楽しくなってポインターを動かしすぎますが…。
  • スライドの右下か左下は重要なものを書かないでおけば、人間をそこにはめこんでもそこまで邪魔にはならない。
  • 配信するにせよ録画するにせよ音量は難しい。何度か一人で録画したり一人でMeetに他のデバイスでログインするなどして微調整をしてからのほうがいい。
  • 同様に、Meetに他のデバイスで参加すると動画の圧縮具合がわかる。文字が潰れていないかチェックできる。

録画したファイル

[YouTubeには1440pでアップロード]し、個人情報の多い部分をトリミングして公開している。大学にはHandbrakeで720pFastに落としたものを渡している。だいたい1コマで250MBくらいになる。
2020-12-14以前の動画は試行錯誤している。以降は↑のようにiPhoneを使っている(執筆時点での予定)。

なんか足りないかも

思い出しつつなるべくすべて必要な設定は書いたつもりだが、書きこぼしがあるかもしれない。設定で詰まったら教えて下さい。追記・修正します。

GitHubで編集を提案

Discussion