私は EYE に 2 つの Web カメラを使用するロボット プロジェクトを行っています。
/dev/video0 と /dev/video1 を作成する USB で PC に 2 つの Web カメラを接続していますが、問題は、カメラが Skype などのソフトウェアで使用されている場合に失敗することがあります。Linux 自体の製造元のドライバーが /dev/video0 または /dev/video1 を非表示にする問題になる可能性があるため (手動で物理的にプラグを抜き差ししない限り、場合によっては、リモート/ロボティクス プロジェクトなどで不可能な場合があります。目として使用するには、100% のカメラの可用性が必要です)。
それを修正するために、スクリプトを実行しました:
### Logitech camera lost
target="/dev/video99"
foundon="none"
warn="[WARNING]:"
ok="[OK]:"
for i in 0 1 2 3 4
do
tmp="/dev/video$i"
if [ -e $tmp ]
then
foundon="/dev/video$i"
else
echo "no $i"
fi
done
b="none"
if [ "$foundon" = "$b" ]
then
echo "$warn No camera is found"
echo "$warn Auto restarting /var/tmp/runme.sh"
/var/tmp/runme.sh &
else
echo "$ok ln -s $foundon $target"
echo password | sudo -S ln -sf $foundon $target
echo password | sudo -S chmod -R 777 $target
fi
ls /dev/vid*
/dev/video9 に永続的に配置される仮想 1 イメージまたは空のイメージ ベースのダミー ビデオ デバイス インターフェイスを作成する必要があります。ダミー ビデオ デバイスを取得したら、元のカメラが突然失われる原因をデバッグ/特定できます。
Q. アプリケーションがビデオ ソース入力として使用するときに、1 つの jpeg またはビデオ クリップを表示するカメラ ソースとして実際に機能する仮想 /dev/video9 を作成するにはどうすればよいですか? (例: スカイプまたはその他..)