気の向くままに辿るIT/ICT/IoT
システム開発

Debian JessieとUSBカメラでビデオ会議・通話・チャット

ホーム前へ次へ
*BSD/PC-UNIX/Linuxって?

Debian JessieとUSBカメラでビデオ会議・通話・チャット

Debian JessieとUSBカメラでビデオ会議・通話・チャット

2017/02/08

 ひょんなことから*BSD/UNIX/Linux+フリーソフトウェア+USBカメラでLAN内ビデオ通話ができるのか確認してみようと思うに至ったDebian編がこのページ。

 検証に使用したPCは、デュアルコアCPU 1.80GHz/RAM2GBのデスクトップパソコンPavilionシングルコアCPU 1.60GHz/RAM2GBのノートPC dynabook、OSは共にDebian Jessie(8.7)、RTC/Real Time CommunicationソフトウェアはGNOMEプロジェクト発のEkiga Softphone(イカイガ ソフトフォン) 4.0.1、USBカメラはLogicool C270とElecom UCAM-C0220F(UCAM-C0220FE?)シリーズの2点。

Debina/EkigaでLogicool C270とElecom UCAM-C0220FEWHを検証

debian:~$ sudo apt-get update
...
debian:~$ sudo apt-get upgrade
...
debian:~$ sudo apt-get install ekiga
...
debian:~$

 まずは、Ekigaをインストール。

debian:~$ lsusb
...
Bus 001 Device 003: ID 046d:0825 Logitech, Inc. Webcam C270
Bus 001 Device 004: ID 056e:7016 Elecom Co., Ltd
...
debian:~$ dmesg | tail
...
[ 45.012771] input: UVC Camera (046d:0825) as /devices/pci0000:00/0000:00:1d.7/usb1/1-4/1-4:1.0/input/input12
...
[ 228.327146] input: UCAM-C0220F as /devices/pci0000:00/0000:00:1d.7/usb1/1-2/1-2:1.0/input/input13
...
debian:~$

 USBカメラの認識については、事前情報でLinuxで使えることは確認済みなので当然も、どちらもUSBポートに挿しただけでdmesg、lsusb共に認識され、Ekigaを起動、既に認識されていれば、そのまま、そうでなくてもデバイス設定でカメラを選択するだけで他に何も設定しなくても映像も出力・表示されました。

 USBカメラ自体についてや画質や音質については冒頭のリンク先参照。

スペック不足だと不測の事態が起こる?

 ただし、これはデュアルコアマシンでの話で、シングルコアマシンでは、C270は映像表示、通話含め、一通り機能した一方、UCAM-0220FEは、dmesg、lsusb、Ekiga設定アシスタント、Ekiga[編集]=>[設定]=>[映像:デバイス]でも一通り認識はされているものの、映像は表示されませんでした。

 しかし、再度試してみると今度は、一通り認識はされているものの、シングルコアマシンでは、UCAM-0220FEだけでなく、C270も映像が表示されなくなってしまいました。

 そこで遅まきながら各メーカーのサイトで要求スペックを確認してみるとC270はHD720p対応はともかく基本スペック要求は満たしている一方、UCAM-C0220FEについては、CPU:Intel Pentium4(2.4GHz)以上、RAM:1GB以上とRAMはともかくCPUパワーが不足していました。

debian:~$ sudo apt-get -y install cheese guvcview motion
debian:~$

 ただ、シングルコアマシン+Debian+Ekigaで何れのカメラも映像が表示されなくなって後もシングルコアマシン+Debian+Cheese 3.14.1-2 or Guvcview 2.0.1+debian-1、コマンド実行によるMPlayer2 2.0-728-g2c378c7-4+b1では、相変わらずUCAM-0220FEもC270も映像表示されますし、fswebcam 20140113でも撮影はでき、motion 3.2.12+git20140228でも何れのカメラも認識され、静止画の撮影も動体検知時の映像の録画もできます。

 最初、シングルコアマシンでは、C270、UCAM-0220FEの順に試したのですが、スペックオーバーのUCAMで無理をさせた結果、Ekigaに何らかの影響を与えたのかも?いやいや前後して何かをインストール・アンインストールした際に関連する何らかのパッケージが削除されてしまった可能性もある?

 何れにしても何れのカメラも、このシングルコアマシン+Debianにおいてdmesg、lsusb、Ekigaでも認識はされ、CheeseやGuvcview、MPlayerなどに至っては以後も映像も表示され、fswebcamでも撮影はでき、motionでは映像の録画もできるのでドライバがなくなったということはないでしょう。

 そこで何らかのパッケージが欠落した可能性を考えて試しにEkigaを再インストールしてみましたが、変わらず、提案パッケージも一通りインストールしてみるも変わらず、当該シングルコアマシンと映像が表示されるデュアルコアマシンで共にdpkg -l | grep -i v4lしてみてもリスト結果は同じ、libpt2も入っており、パッケージが欠落しているわけでもなさそう。。。

 このシングルコアマシンはメインで使っていて今回のUSBカメラについては、Debian+Ekigaで最初に試し、C270は映像表示されて安堵したのも束の間、UCAM-0220FEが表示されず、え?壊れてる?と思ってデュアルコアマシンで試してみることにし、シングルコアマシンにC270、デュアルコアマシンにUCAMを接続、通話確認も行って一通りできたことに満足した為、C270で映像表示できたのが気のせいということはあり得ない。。。

 一体、なぜ。。。?

[2017/02/15]
raspbian:~$ ekiga
...
libv4l2: error setting pixformat: Device or resource busy
...
[Ctrl]+[c]
raspbian:~$ sudo ekiga

 ekigaを端末で実行してみたら、こんなエラーが出た為、rootでやってみたら、シングルコアマシン+Debian+C270でも、シングルコアマシンでは当初から映像が出なかったUCAM-C0220FEでも映像が出ました。。。

 ユーザーでもいける方法は。。。というか、ユーザーアカウントにおいては以前のソケットが閉じずに保持されてる?違うか。。。

ラズパイでテスト

raspbian:~$ sudo apt-get update
...
raspbian:~$ sudo apt-get upgrade
...
raspbian:~$ sudo apt-get install ekiga
...
raspbian:~$

 試しにサーバとして使っているRaspberry Pi 2 モデルB(CPU:ARM 4core RAM:1GB)/Raspbian Jessie+Ekigaを試してみたらVNC経由のリモート映像はともかく、ローカル映像は被写体が動いてもC270については円滑、ビデオ通話、テキストチャットなど一通り機能することを確認できました。

Jitsiで試してみると

debian:~$ wget -qO - https://download.jitsi.org/jitsi-key.gpg.key | sudo apt-key add -
debian:~$ sudo sh -c "echo 'deb https://download.jitsi.org stable/' > /etc/apt/sources.list.d/jitsi-stable.list"
debian:~$ sudo apt-get update
E: メソッドドライバ /usr/lib/apt/methods/https が見つかりません。
N: パッケージ apt-transport-https はインストールされていますか?
debian:~$ apt-cache search apt-transport-https
apt-transport-https - https download transport for APT
libapt-pkg4.12 - パッケージ管理ランタイムライブラリ
debian:~$ sudo apt-get -y install apt-transport-https
debian:~$ sudo apt-get -y update
debian:~$ sudo apt-get install jitsi
...
debian:~$

 RTC/Real Time Communicationソフトウェアで確認したい。。。というわけで既にWindows/Mac OS X/macOS/Linuxに対応のWebRTCアプリJitsiで確認してみることに。

 やってみるとJitsiならそれぞれDebian Jessieが入ったデュアルコアマシンとシングルコアマシン間でビデオ通話できました。

 尚、リポジトリ追加、インストールについてはhttps://jitsi.org/Main/DebianRepositoryを参考に、途中、追加でapt-transport-httpsをインストールしつつ完了。

結果

 これらのことから、先のシングルコアマシンでのEkigaの挙動については、Ekigaに起因するものだったようです。

 結果、今回購入したLogicool(Logitech) C270とELECOM UCAM-C0220FEは、何れもDebianでビデオ通話に、更にFedoraでビデオ通話NetBSDでビデオ通話などに使えることがわかりました。

LINK

ホーム前へ次へ