zoomにカメラがないPCで接続してしまったときの対処方(カメラ付きLinux機を持ってる場合)
動機(特に重要な内容ではない)
今回,私は喜ばしいことにインターンに行くことが出来ました。この日のために,前日からデスクトップPCを購入し(メイン機が低スペックすぎたので)マイク付きイヤホンを2度購入し(1つめはドライバが非対応でした)万全の状態で望んだわけですが,当日に重大な問題が発生しました。デスクトップにはカメラが内蔵されていないのです(忘れてました)。自己紹介で顔を見せれないというイベントに冷や汗をかきながら,手元のLinux機(内蔵カメラ付きノートPC)でどうにか出来ないかと調べたらなんとか出来たので,忘れないうちにメモしておこうというのが今回の投稿です。
本編
注意
私は今回使った技術に詳しくないので,環境が違うと動作しないかもしれません。
私の構成
- Windows10(Aと呼ぶ)
- Zoomが動作しているPC
- OBSが必要(v26以降)
- Ubuntu20.04(Bと呼ぶ)
- カメラが内蔵されているPC
- ffmpegが必要
方法
B側で以下のコマンドを実行します。中括弧内{}
は適宜適した値を入れてください
ffmpeg \ -i /dev/{B側の利用したいカメラ} \ -vcodec libx264 \ -preset ultrafast \ -tune zerolatency \ -f mpegts \ udp://{AのIPアドレス}:{適当な整数(今回は12321としました)}?pkg_size=1316
A側ではOBSを以下の順序で設定します。
- 左下のソースの下の方にある+を押して,メディアソースを選択。名前は適当に書いて新規作成します。
- {手順1.で入力した名前}のプロパティという画面が立ち上がるのでローカルファイルのチェックを外します。
- 新しく出てきた入力の部分に
udp://{AのIPアドレス}:{B側のffmpegを実行時に入力した整数}
を入力します。
多分この時点でOBS側にB側の内蔵カメラの映像が出力されると思うので,右下の仮想カメラ開始を押します。そしたら,zoomやdiscordなど,適当なアプリケーションで使えると思います。
感想
そこそこの遅延があると思うので,笑顔で誤魔化しましょう。