VirtialBoxの仮想環境内のOSから、ホストにつながっているOSのWebカメラを使いたいなーと思って調べて、出来たので備忘録として残しておきます。
大まかな流れ
- Extension Packの導入
- 確認
Extension Packの導入
まずはExtension Packを入れます。自分のVirtualBoxのバージョンを合わせないと、Extension Packが入らないので、そこは注意が必要です。
自分のバージョンはヘルプ→VirtialBoxについてで確認できます。
実際にインストールが完了するファイル→環境設定→拡張機能で入っていることが確認できるかと思います。
その後、Webカメラを使いたいゲストOSの設定を開き、USBにデバイスを追加します。
その後、ゲストOSを起動します。
デバイスが認識しているか確認
ハードウェアとして認識しているかを確認。
vagrant@vagrant:~$ lsusb Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 002: ID 046d:0809 Logitech, Inc. Webcam Pro 9000 Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub vagrant@vagrant:~$
つないでいるWebカメラはLogicool製のやつなので、ちゃんと認識されているのが確認できました。
V4L2で使えるようにする
Video for Linuxでデバイスの映像を取得できるようにします。
sudo apt-get install v4l-utils ffmpeg -y
ちゃんとデバイスとして認識されているには以下のコマンドで確認します。
vagrant@vagrant:~$ v4l2-ctl --list-devices UVC Camera (046d:0809) (usb-0000:00:0c.0-1): /dev/video0 vagrant@vagrant:~$
認識されていますね。
あとはCheeseとかでちゃんと映像取得ができるかCheeseを起動してみます。
ちゃんと映像取得できました。(PCの裏側を映しています。)
まとめ
これでホストOSにつながっているWebカメラをゲストOS(Ubuntu)から使えるようになりました。
これを使って映像配信や取得などをこれからやっていこうと思います。
参考サイト
Webカメラを使ってUbuntuで動画をストリーミング配信(mjpg-streamer使用)&Home Assistantで監視 | web net FORCE