PCに3つのUSBカメラがあり、そのうちの1つは使用されず、無視しても構いません。 2つの同じカメラを定数デバイス名(たとえば、/dev/video1
および)にマップする必要があります/dev/video2
。カメラは順序を変更しないでください(カメラ1がvideo1
カメラ2としてインストールされていると仮定すると、接続を切断した後にカメラ1 - >、カメラ2 - >以外の順序でなければvideo2
なりません。この設定をどのように機能させますか?/dev/video2
/dev/video1
カメラ出力ジストリーマー。使用中のカメラv4l2そして紫外線ドライバインタフェース。問題のLinuxディストリビューションは次のとおりです。アーチLinux、カメラ - いくつかのロジクールウェブカメラ。
答え1
/dev
USBカメラの固有の属性(シリアル番号?ポート番号?)を使用してシンボリックリンクを自動的に作成することをお勧めします。udev
これを見てください(Archでも機能する必要があります)udevルールチュートリアル。またはたぶん、このチュートリアルはより明確です。。
以下を使用して、デバイスのプロパティのリストを取得できます。
sudo udevadm info --query=all --name=/dev/video1
それから
sudo udevadm info --query=all --name=/dev/video2
違いを見つけて、.rules
その中にファイルを作成します/etc/udev/rules.d
(たとえば、ファイル名として使用できます99-myvideocards.rules
)。シリアル番号を使用すると仮定すると、次のルールセットが生成されます。
ATTRS{ID_SERIAL}=="0123456789", SYMLINK+="myfirstvideocard"
ATTRS{ID_SERIAL}=="1234567890", SYMLINK+="mysecondvideocard"
デバイスを取り外して再接続した後(または再起動した後)、/dev/myfirstvideocard
常に/dev/mysecondvideocard
同じデバイスを指します。
答え2
/dev/v4l/by-id/usb-046d_0819_92E84F10-video-index0
Patrice Levesqueの方法はうまく動作しますが、Linuxにはすでにフォルダに同じシンボリックリンクがあるので、/dev/v4l/by-id/
プログラムが/dev/videoX
。