使用 ffmpeg 拍照但等待焦点

rok*_*rok 5 video webcam ffmpeg 16.04

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

ffmpeg -f video4linux2 -s 4208x3120 -i /dev/video1 -qscale:v 2 -frames 1 -ss 00:00:20 out.png
Run Code Online (Sandbox Code Playgroud)

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

编辑

在前面放置-ss参数-i没有帮助。还尝试使用不同的相机,具有相同的行为。

and*_*.46 3

我怀疑您所追求的是--delay 5FFmpeg 的类型选项,该选项目前不存在,除非作为功能请求。然而,有一个较旧的实用程序fswebcam,我已经在我的系统上对其进行了全面测试,它将完全完成您所追求的任务。安装:

sudo apt-get install fswebcam
Run Code Online (Sandbox Code Playgroud)

并运行一个简单的命令行,如下所示:

fswebcam --delay 5 --skip 200 --png 5 testing.png
Run Code Online (Sandbox Code Playgroud)

下面可以看到更详细的命令行以及完整的终端输出,因为它在我自己的系统上运行

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~$ 
Run Code Online (Sandbox Code Playgroud)

该选项--delay 5使网络摄像头有机会进行初始化,同时该选项--skip 200会在流打开后延迟屏幕捕获约 6 秒。您需要对此进行一些试验,以适应特定相机的自动对焦时间。

Linux 命令行有多酷:)