次のようにコマンドラインでv4l2-ctlを使用できます。
v4l2-ctl -d /dev/video1 -c focus_auto=0
v4l2-ctl -d /dev/video1 -c exposure_auto=0
ただし、ファイルからスクリプトとして実行するとエラーが発生します。たとえば、script.sh
次の2行を含み、それを使用して実行するか、sh script.sh
C ++関数からsystem()
呼び出します。
VIDIOC_S_EXT_CTRLS: failed: Invalid argument
Error setting MPEG controls: Invalid argument
このエラーはなぜ発生しますか?
ベストアンサー1
このコマンドを実行するときにv4l2-ctl
rootとして実行していますか?
この試みscript.sh
:
#!/bin/bash
sudo /usr/bin/v4l2-ctl -d /dev/video1 -c focus_auto=0
sudo /usr/bin/v4l2-ctl -d /dev/video1 -c exposure_auto=0
/usr/bin
その場所にない場合は、v4l2-ctl
別のディレクトリの場所に変更します。