/var/www/yatta47.log

やったのログ置場です。スクラップみたいな短編が多いかと。

VirtualBoxでWebカメラを利用する

VirtialBoxの仮想環境内のOSから、ホストにつながっているOSのWebカメラを使いたいなーと思って調べて、出来たので備忘録として残しておきます。

大まかな流れ

  1. Extension Packの導入
  2. 確認

Extension Packの導入

まずはExtension Packを入れます。自分のVirtualBoxのバージョンを合わせないと、Extension Packが入らないので、そこは注意が必要です。

自分のバージョンはヘルプ→VirtialBoxについてで確認できます。

f:id:yatta47:20190112200339p:plain

実際にインストールが完了するファイル→環境設定→拡張機能で入っていることが確認できるかと思います。

f:id:yatta47:20190112200222p:plain

その後、Webカメラを使いたいゲストOSの設定を開き、USBにデバイスを追加します。

f:id:yatta47:20190112201132p:plain

その後、ゲスト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を起動してみます。

f:id:yatta47:20190112202410p:plain

ちゃんと映像取得できました。(PCの裏側を映しています。)

まとめ

これでホストOSにつながっているWebカメラをゲストOS(Ubuntu)から使えるようになりました。

これを使って映像配信や取得などをこれからやっていこうと思います。

参考サイト

Webカメラを使ってUbuntuで動画をストリーミング配信(mjpg-streamer使用)&Home Assistantで監視 | web net FORCE

Windows環境でDockerコンテナにUSBウェブカメラを認識させる | UNITRUST

Real Time Web Analytics