如何使用网络摄像头制作定格或延时视频?

Sep*_*älä 30 video webcam software-recommendation

我有一个用作 v4l2 设备的网络摄像头。

捕捉定格或延时视频最方便的方法是什么?

NB

定格动画和延时摄影是相关的,但在概念上是不同的。

延时摄影是您以设定的时间间隔拍摄场景照片,然后将其组合成视频(看起来速度非常快)。

定格动画是您控制场景并为您所做的每个更改拍摄图像的地方,以形成动画(例如华莱士和格罗米特)。

延时摄影应用程序需要能够以设定的时间间隔拍照。

Oli*_*Oli 42

捕捉无数图像。

第一步是捕捉图像。假设您想每 10 秒拍一张照片并将其保存到桌面上的目录中

mkdir ~/Desktop/cap
cd ~/Desktop/cap
Run Code Online (Sandbox Code Playgroud)

我们streamer用来做捕获所以让我们安装它:

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

现在我们要捕获

streamer -o 0000.jpeg -s 300x200 -j 100 -t 2000 -r 1
Run Code Online (Sandbox Code Playgroud)

-t是我们想要捕捉的帧数。-r是每秒帧数。所以这应该每秒抓取一帧。如果您将其压缩为 30fps 的视频,则一分钟的捕获将变成 2 秒的视频。您需要根据您想要的输出视频量适当地调整它。

该行将为您提供 2000 张图像,录制需要半小时,并且以 30fps 的速度生成 1 分钟多一点的视频。

把这一切放在一起

我要使用ffmpeg. 有许多不同的组合方式,包括mencoder但我更喜欢ffmpeg的人生观。安装后 ( sudo apt-get install ffmpeg) 只是想出了这个:

ffmpeg -r 30 -i %04d.jpeg -s hd480 -vcodec libx264 -vpre hq time-lapse.mp4
Run Code Online (Sandbox Code Playgroud)

那里的质量设置与我的网络摄像头完全不同,因此您可能想要更多地使用这些选项以获得更好的编码,但这应该会为您生成一个不错的 30fps 视频,以 x264 压缩。

您可能想调整帧率 ( -r),但我不会低于 15fps。

  • @Tim“ffmpeg”命令不断变化(它实际上是另一个名为“avconv”的应用程序伪装了很长一段时间,尽管我认为它现在已经转移回来了)。多年来,这两个命令的语法已经分叉并发生了变化(编解码器名称也是如此)。我不适合测试(我没有库存的“ffmpeg”设置),但我建议从[他们的维基](https://trac.ffmpeg.org/wiki/Create%20a %20video%20slideshow%20from%20images),即:`ffmpeg -framerate 1/5 -i img%04d.jpeg -c:v libx264 -r 30 -pix_fmt yuv420p out.mp4` - 让我们知道什么有效! (2认同)
  • @TomášZato `streamer -h` 更全面。我讨厌开发人员在“--help”上投入大量精力,但在手册页上却一无所获。 (2认同)

Lui*_*ado 9

要从网络摄像头中每 X 秒捕获一次,请使用动作。

安装 motion

sudo apt-get install motion 或者 sudo aptitude install motion

为每 X 秒配置运动

sudo nano /etc/motion/motion.conf

将变量minimum_frame_timesnapshot_interval更改为您希望使用网络摄像头拍摄照片的秒数。

10 分钟 = 600 秒
20 分钟 = 1200 秒
30 分钟 = 1800 秒
1 小时 = 3600 秒
2 小时 = 7200 秒等等...

sudo motionCTRL+停止运行运动C

注意 - 配置motion.conf 以将文件保存在默认/tmp 之外的另一个目录中。例如您的主文件夹。由于转到 /tmp 需要更多权限。您还可以在motion.conf 中找到许多有用的选项,用于您可能喜欢的许多其他内容。


fos*_*dom 7

gTimelapse下载链接

在此处输入图片说明

用于捕获图像以生成延时视频的应用程序,构建于 gPhoto2 和 wxWidgets 库之上。

编译指令

从 sourceforge 网站下载源代码

在终端中键入以下内容:

cd Downloads 
gunzip gtimelapse-0.1.tar.gz
tar -xvf gtimelapse-0.1.tar
cd gtimelapse
sudo apt-get install build-essential libgphoto2-2-dev libwxbase2.8-dev libwxgtk2.8-dev gphoto2
./configure
make
sudo make install
Run Code Online (Sandbox Code Playgroud)

运行应用程序类型

gtimelapse &
Run Code Online (Sandbox Code Playgroud)

NB 1

gphoto2 --list-cameras | more
Run Code Online (Sandbox Code Playgroud)

NB 2

请参阅此博客以获取更多有用的信息

列出应用程序支持的所有兼容设备

NB 3

我读过 gphoto2 不支持网络摄像头 - 无论如何我都会让这个答案可见,以防万一有人想用像样的数码相机而不是网络摄像头来尝试这个答案。