最近翻出来一个 USB 摄像头,我把它插到我的 Mac mini 上面,可以用。
摄像头是免驱的,插上之后,可以用 obs 来捕获画面。也可以用 QuickTime Player,打开之后,点击「文件」「新建影片录制」,就可以看到画面了。
imagesnap
我想通过命令行的方式,控制摄像头拍照。需要装一个工具 imagesnap
,可以使用 homebrew 来安装。
brew install imagesnap |
装好之后,直接执行
imagesnap |
就可以生成一张图片,名为 snapshot.jpg
,保存在当前目录下。
参考:Access Mac Camera by Command Line (davidwalsh.name)
帮助信息
❯ imagesnap -h |
保存的图片命名为 powersee.jpg,可以这么写
imagesnap powersee.jpg |
延迟
不加任何参数的情况下,默认是延迟 3 秒,我想它命令执行时立即拍
imagesnap -w 0.1 |
使用 0.01 也可以,0.001 都行。
不过这样使用会有问题,因为摄像头如果发现没有程序在使用它,它会进入休眠状态,在有些设备上面的表现,就是摄像头上面的灯会熄灭。
如果我们在摄像头休眠状态下,使用 -w 0.1 来拍照,那么得到的是一张全黑的图片。因为它还没有准备好,所以程序才设置默认 3 秒延迟。
如果我们想快一点,那么延迟一秒应该就够了。那么 0.1、0.01 在什么情况下可以使用呢?在摄像头正在使用的情况下,例如 OBS 开着时。
其它参数
-t
参数可以用来连续拍照,例如每隔三秒拍一张。
❯ imagesnap -t 3 |
使用 -l
可以列出所有摄像头。
❯ imagesnap -l |
当电脑有多个摄像头时,可以用 -d
来指定要使用哪一个。如果不指定,它会使用第一个。注意上面这两个,它们的名称是 USB2.0
和 PC-W3
,使用如下
imagesnap -d PC-W3 |
综合使用
我想要,每隔 5 秒拍一张,一共拍一百张,然后终端不要输出信息,保持安静就好,拍好的图片保存到 Powersee 目录中。
imagesnap -d PC-W3 -w 1 -q -t 5 -n 100 Powersee |