使用 ffmpeg 拍照但等待对焦

使用 ffmpeg 拍照但等待对焦

我正在尝试使用 ffmpeg 的命令从终端拍照:

ffmpeg -f video4linux2 -s 4208x3120 -i /dev/video1 -qscale:v 2 -frames 1 -ss 00:00:20 out.png

但是它似乎忽略了该-ss选项。我的想法是等待一段时间让相机自动对焦。无论值是多少,该选项都会被忽略,并且图片会立即保存,导致经常失焦。相机中有自动对焦功能(See3cam 130),如果我使用 cheese,它几乎会立即对焦。有什么提示吗?

编辑

-ss把参数放在前面-i没有帮助。还尝试了不同的相机,结果相同。

答案1

我怀疑你想要的是--delay 5FFmpeg 的类型选项,目前除了作为功能请求外,它还不存在。不过,有一个较旧的实用程序fswebcam,我已在我的系统上进行了全面测试,它可以实现确切地你想要的。安装方式:

sudo apt-get install fswebcam

并运行简单的命令行类似如下:

fswebcam --delay 5 --skip 200 --png 5 testing.png

A更加精致在我的系统上运行时,命令行加上完整的终端输出如下所示:

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 命令行有多酷啊:)

相关内容