ねののお庭。

かりかりもふもふ。

Pythonと仮想Webカメラを使ってGoogleハングアウトとかに任意の画像を流す。

f:id:nenoNaninu:20200415032356g:plain
デスクトップで変換してGoogleハングアウトでMBPに流してる。

コロナことCOVID-19のせいで、ZoomやらGoogleハングアウトやらそのあたりのサービスがよく使われるようになりました。 でWebカメラなんかから画像を垂れ流すわけですが、垂れ流す画像, 自分でプログラマブルに加工したいですよね...?

というわけでこんなの作りました。 github.com

Linux限定ですが、Webカメラから画像取得->CNNで画像変換->仮想Webカメラ->Googleハングアウト(など)、みたいな流れをやっています。 Webカメラから画像取得、変換、仮想カメラに垂れ流す、まですべてPythonで書かれているので、いくらでも自由にいじることができます。 ほんとはAnimeGAN動かそうと思ったけどリアルタイムは無理でしたねぇ...

Ubuntuで動かしていますが、別に他のディストーションでも動くんじゃないかな。

Linux向けにv4l2loopbackという大変気の利いたしろものがあり、コマンドちょろっと叩くだけで簡単に仮想Webカメラが使えるようになります。 これをpyfakewebcamというのを使ってPythonから叩いているわけですね。v4l2loopbackの簡単な使い方もREADMEに書いておいたので、ぜひ。

github.com github.com

というわけでv4l2loopbackとpyfakewebcamを使うことで簡単に垂れ流す画像を差し替えることができました。めでたしめでたし。 (現実の画像から乖離すればするほど変換がリアルタイムでも、受信がカクツクのはエンコードとかの問題なのかしら...?)

コロナのバカーっ!