接続されたカメラを一時的にのみ無効またはオフにします。

接続されたカメラを一時的にのみ無効またはオフにします。

WebカメラまたはWebカメラを永久に無効にする方法に関する質問に多くの回答がありました。現在はそうではありません。

v4l2-ctlコマンドまたは他の手段を使用して、v4l2マネージドWebカメラを一時的に無効にするかシャットダウンして物理的に接続しなくても/ dev / video *ファイルハンドルにマップされなくなったり、電源が入らないようにすることはできますか?アウト?

ソフトウェア開発シナリオでは、複数の接続されたUSBカメラを使用する必要があるという要件があります。 。実際には、接続されているWebカメラを物理的に分離せずに無効にする(それから有効にする)方法を意味します。 USBウェブカメラデバイスまたは他のデバイスにこれらの機能がある場合...

USB / UVCカメラ用の標準v4l2ドライバフレームワークを使用するシステム。

答え1

USBポートによっては、ポートを無効(オフ)にすることができ、カメラの接続が切断される可能性があります。

uhubctlポートの電源を切ってから電源を入れることができます。これによりデバイスがリセットされ、カーネルがそれを再検出する必要があります。

たとえば、マイコンピュータでは、USBポート1-2.2の電源をオフまたはオンにします。

# /usr/sbin/uhubctl -l 1-2 -p 2 -a off  
Current status for hub 1-2 [0bda:5411 Generic 4-Port USB 2.0 Hub, USB 2.10, 4 ports]
  Port 2: 0101 power connect []
Sent power off request
New status for hub 1-2 [0bda:5411 Generic 4-Port USB 2.0 Hub, USB 2.10, 4 ports]
  Port 2: 0000 off

# uhubctl -l 1-2 -p 2 -a on 
Current status for hub 1-2 [0bda:5411 Generic 4-Port USB 2.0 Hub, USB 2.10, 4 ports]
  Port 2: 0000 off
Sent power on request
New status for hub 1-2 [0bda:5411 Generic 4-Port USB 2.0 Hub, USB 2.10, 4 ports]
  Port 2: 0101 power connect []

すべてのUSBポートをこの方法で制御できるわけではありません。

-lと-pの正しい値を計算するには、dmesg出力を確認するために少し試行錯誤が必要になることがあります。

関連情報