Elsaの技術日記(徒然なるままに)

主に自分で作ったアプリとかの報告・日記を記載

MENU

VirtualBox上の仮想環境でUSBカメラを認識させる

PCにUSBカメラを接続させれば映像や画像が取得できるのですが、virtual Boxでも動作するように出来たらいいな。と思い実施。
USBメモリみたいに簡単にできなかったので備忘録として残しておきます!!


■環境

・PC:Windows 10 Home
・Virtual Box ver:6.1.16
・カメラ:LOGICOOL HDプロ ウェブカム C920

LOGICOOL HDプロ ウェブカム C920

新品価格
¥15,069から
(2020/11/21 18:23時点)


■Virtual Box Expansion Packをインストール

Virtual Box上の仮想環境でカメラを認識させるためには、Expansion Packをインストールしておく必要があります。

インストーラはこちらから取得できます。
https://www.virtualbox.org/wiki/Downloads
f:id:Elsammit:20201121182356p:plain

インストーラ名は、
Oracle_VM_VirtualBox_Extension_Pack-***.vbox-extpack
になるかと思います。

こちらを実行するとダウンロードが行えます。

Windows上での操作

次にVirtualBox上でカメラが認識できるように設定していきます。

まず、コマンドプロンプトを開き下記を実行します。

"C:\Program Files\Oracle\VirtualBox\VBoxManage" list webcams

※VBoxManage.exeのパスはあらかじめ確認しておいてください。
 自分はC:\Program Files\Oracle\VirtualBoxに入っております。

上記コマンドを実行することでVirtualBox上の仮想環境で認識させることが出来るカメラの一覧を取得することが出来ます。
エラーなく実行出来れば、こちらのようなメッセージが表示されるかと思います。

Video Input Devices: 1
.1 "HD Pro Webcam C920"
\\?\usb#vid_046d&pid_082d&mi_00#6&f17d0cd&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global

今回自分のPCにはカメラはLOGICOOL HDプロ ウェブカム C920しかないので1台のみ認識しています。

こちらのInput Device番号を元にVirtualBox上の仮想環境で認識させて使用するカメラを設定していきます。
こちらのコマンドで設定が行えます。

"C:\Program Files\Oracle\VirtualBox\VBoxManage" controlvm "仮想環境名" webcam attach .1

仮想環境名にはVirtualBox上で登録させている仮想環境(仮想マシン)名を記載します。
また、

attach .1

には先ほど確認したリストから使用したいカメラの番号(今回だと.1)を記載します。

ここで注意するのは

"C:\Program Files\Oracle\VirtualBox\VBoxManage" controlvm "仮想環境名" webcam attach .1

は仮想環境を起動させてから実施しないといけない、ということです。
起動させていない状態で実行すると、

VBoxManage.exe: error: Machine '仮想環境名' is not currently running

といったエラーが発生します。

■最後に

Linuxを使って動作させたいな?と思った時に仮想環境は便利なのでよく使っております。
が、カメラなどの外部デバイスが使いたいときにはちょっと手間がいるのが困ったものです。。。
今回はカメラを接続させるための設定を確認しましたが、マイクなども後で確認してみようかな??