【Linux】Webカメラを利用する

スポンサーリンク
昨今の社会情勢の影響により、他者とリモートでの会議や打ち合わせをするといったケースが多いと思います。WindowsやMacのOSで動作している各社販売のノートPCでは、はじめからWebカメラを認識可能なケースが大半です。
ここでは、LinuxのデスクトップPCで利用できた外付けのWebカメラに関して紹介します。

確認環境について

自分が使用したOS環境とWebカメラは以下です。
 
OS:Ubuntu 20.04 LTS
Webカメラ:ロジクール(Logicool) ウェブカメラ C505 HD Webcam
 

(2021/06/05)確認したところAmazonでは在庫が無いようですが、楽天市場に在庫ありのショップがありました。

Webカメラ製品は廉価版含め各社発売されているものが多いですが、品質面からロジクール(Logicool)製品が無難だと思います。
Webカメラに限らず、新製品や多機能の機種だとOS標準のデバイスドライバでは未対応で認識させるのに苦労することがあります。このため、Webカメラを購入する際には機種選択に注意が必要です。

確認結果

カメラを接続後、dmesgには以下のようなログが出力されていました。「volume range」のところで警告が出ているように見えます。

・・・中略・・・
[ 7496.083899] usb 1-11: new high-speed USB device number 3 using xhci_hcd
[ 7496.463436] usb 1-11: New USB device found, idVendor=046d, idProduct=08e3, bcdDevice= 0.21
[ 7496.463438] usb 1-11: New USB device strings: Mfr=0, Product=1, SerialNumber=2
[ 7496.463439] usb 1-11: Product: C505 HD Webcam
[ 7496.463440] usb 1-11: SerialNumber: BD1E4EC0
[ 7496.476514] mc: Linux media interface: v0.10
[ 7496.485523] videodev: Linux video capture interface: v2.00
[ 7497.950813] usb 1-11: Warning! Unlikely big volume range (=6144), cval->res is probably wrong.
[ 7497.950820] usb 1-11: [5] FU [Mic Capture Volume] ch = 1, val = 1536/7680/1
[ 7497.951416] usbcore: registered new interface driver snd-usb-audio
[ 7497.951764] uvcvideo: Found UVC 1.00 device C505 HD Webcam (046d:08e3)
[ 7497.991954] input: C505 HD Webcam as /devices/pci0000:00/0000:00:14.0/usb1/1-11/1-11:1.0/input/input17
[ 7497.992272] usbcore: registered new interface driver uvcvideo
[ 7497.992275] USB Video Class driver (1.1.1)
・・・以降略・・・
Code language: plaintext (plaintext)
Webカメラを利用する各種Web会議システムで、実際に映像と音声が認識されているかを確認してみたところ、Google Meet、Teams、Zoom のいずれでも映像音声が入力再生でき、特に問題はありませんでした。前述の警告表示の影響は無さそうです。
また、ロジクール(Logicool)製品の多くが備える「自動HD光補正機能」が動作しているのかわかりませんが、PC上に映っている自分自身の映像に暗さは感じませんでした。
 

そこで次に、PCを再起動してみました。dmesgには以下のようなログが残っていました。同様にWebカメラを認識できているようですし、Web会議システムでも利用可能でした。

・・・ここまで略・・・
[    1.395583] systemd[1]: Inserted module 'autofs4'
[    1.396408] usb 1-4: New USB device found, idVendor=046d, idProduct=08e3, bcd
Device= 0.21
[    1.396413] usb 1-4: New USB device strings: Mfr=0, Product=1, SerialNumber=2
[    1.396417] usb 1-4: Product: C505 HD Webcam
[    1.396420] usb 1-4: SerialNumber: BD1E4EC0
・・・中略・・・
[    1.792106] AVX2 version of gcm_enc/dec engaged.
[    1.792107] AES CTR mode by8 optimization enabled
[    1.794976] uvcvideo: Found UVC 1.00 device C505 HD Webcam (046d:08e3)
[    1.833545] input: C505 HD Webcam as /devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4:1.0/input/input4
[    1.833601] nvidia: loading out-of-tree module taints kernel.
[    1.833606] nvidia: module license 'NVIDIA' taints kernel.
[    1.833607] Disabling lock debugging due to kernel taint
[    1.837819] usbcore: registered new interface driver uvcvideo
[    1.837820] USB Video Class driver (1.1.1)
・・・以降略・・・
Code language: plaintext (plaintext)
今回試したWebカメラを含め、 Linux UVCドライバで動作可能なものを選択すれば問題なさそうです。
UVCドライバー対応となっているWebカメラは、以下のページで一覧が公開されています。
明確に対応しているかどうかを確認したい場合は、参考にすると良いと思います。
ちなみに今回確認に利用したC505は一覧には記載されていませんが、デバイスID「046d:08e3」の情報とともにデバイス名が取得できました。
 
Linux UVC driver and tools
 
ただ、特殊なカメラ機能を持つ機種については、すべての機能が利用できるとは限らないので注意が必要です。あくまで標準のUVCドライバーで対応している範囲で利用できると考え、場合に寄っては該当機種のホームページなどでLinux用に独自ドライバを公開していないか確認してみましょう。

まとめ

確認してみた結果として、今回紹介しているWebカメラ「C505」でWeb会議に充分利用可能です。
1080Pのような高解像度に対応した製品でそのまま高解像度で利用したい場合、ネットワーク環境がボトルネックになる事があります。また、仕事目的に利用するのであれば、自身の顔を高画質で見せなければならないといった事は皆無です。
 
もしYoutubeでのライブ放送等、Web会議以外の他の用途と併用する目的で1080P対応のWebカメラを選択したい場合は、上記ページの一覧に「Logitech HD Pro Webcam C920」の記載があることから、「ロジクール ウェブカメラ C920n」を購入するのが良さそうです。C922nやC980のような60fps対応製品は一覧に記載が無いので、現時点では「試してみないと対応有無は判断できない」と言えます。
 

参考(外部リンク)

Copyrighted Image.