次のコマンドでffmpegを使用して端末から写真を撮ろうとしています:
ffmpeg -f video4linux2 -s 4208x3120 -i /dev/video1 -qscale:v 2 -frames 1 -ss 00:00:20 out.png
ただし、-ss
オプションは無視されるようです。私の考えは、カメラがオートフォーカスするまで一定の時間待つことです。このオプションは、値が何であっても無視され、画像はすぐに保存されるため、焦点が合わないことがよくあります。オートフォーカスはカメラ(See3cam 130)にありますが、チーズを使用すると、ほとんどすぐにフォーカスが合います。ヒントはありますか?
編集
-ss
パラメータを-i
の前に置くことは役に立ちません。同じ動作で、別のカメラでも試してみました。
私はあなたが何をしているのか--delay 5
FFmpegのtypeオプション。現時点では、機能リクエスト以外には存在しません。ただし、fswebcam
と呼ばれる古いユーティリティがあり、これをシステムで包括的にテストして、正確にを実現します。インストール:
Sudo apt-get install fswebcam
そして、次のようなsimpleコマンドラインを実行します。
fswebcam --delay 5 --skip 200 --png 5 testing.png
詳細コマンドラインと完全な端末出力は、自分のシステムで実行されているため、以下のようになります。
andrew@ilium~$ fswebcam --device /dev/video0 \
> --input "Camera 1" \
> --resolution 800x600 --delay 5 \
> --skip 200 --png 5 \
> testing.png
--- Opening /dev/video0...
Trying source module v4l2...
/dev/video0 opened.
Delaying 5 seconds.
--- Capturing frame...
Skipping 200 frames...
Capturing 1 frames...
Captured 201 frames in 6.64 seconds. (30 fps)
--- Processing captured image...
Setting output format to PNG, quality 5
Writing PNG image to 'testing.png'.
andrew@ilium~$
オプション --delay 5
は、オプション--skip 200
ストリームが約6秒間開かれた後、画面キャプチャを遅らせます。特定のカメラのオートフォーカス時間を可能にするために、これを少し実験する必要があります。
Linuxコマンドラインはどのようにクールですか:)