web-dev-qa-db-ja.com

ffmpegで写真を撮りますが、フォーカスを待ちます

次のコマンドで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の前に置くことは役に立ちません。同じ動作で、別のカメラでも試してみました。

2
rok

私はあなたが何をしているのか--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コマンドラインはどのようにクールですか:)

1
andrew.46