我有一个可用作 v4l2 设备的网络摄像头。
拍摄定格动画或延时摄影视频?
注意:
定格动画和延时动画相关但概念不同。
延时摄影是指按照设定的时间间隔拍摄某个场景的照片,然后将其合成视频(看起来速度非常快)。
定格动画就是您控制场景并为每个变化拍摄一张图片,以形成动画(例如 Wallace 和 Grommit)。
延时摄影应用程序需要能够按照设定的时间间隔拍摄一张照片。
答案1
捕捉无数张图像。
第一步是拍摄图像。假设你想每 10 秒拍摄一张照片并将其保存到桌面上的目录中
mkdir ~/Desktop/cap
cd ~/Desktop/cap
我们用它streamer
来进行捕获,因此让我们安装它:
sudo apt-get install streamer
现在我们想捕捉
streamer -o 0000.jpeg -s 300x200 -j 100 -t 2000 -r 1
-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
那里的质量设置与我的网络摄像头完全不同,因此您可能需要更多地试用这些选项以获得更好的编码,但这应该会为您生成一个漂亮的 30fps 视频,并以 x264 压缩。
您可能想要尝试一下帧速率(-r
),但我不会低于 15fps。
答案2
要通过网络摄像头捕捉每隔 X 秒的动作。
安装motion
sudo apt-get install motion
或者sudo aptitude install motion
配置每 X 秒的运动
sudo nano /etc/motion/motion.conf
改变变量最小帧时间和快照间隔与您希望使用网络摄像头拍摄照片的秒数相同。
10 分钟 = 600 秒
20 分钟 = 1200 秒
30 分钟 = 1800 秒
1 小时 = 3600 秒
2 小时 = 7200 秒 等等...
运行动作并sudo motion
停止它CTRL+C
注意 - 配置 motion.conf 以将文件保存在默认 /tmp 以外的其他目录中。例如您的主文件夹。因为转到 /tmp 需要更多权限。您还会在 motion.conf 中找到许多有用的选项,可用于您可能喜欢的许多其他功能。
答案3
延时拍摄(下载链接)
一个基于 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
要运行应用程序类型
gtimelapse &
备注 1
gphoto2 --list-cameras | more
NB2
看到这个博客获取更多有用信息
列出应用程序支持的所有兼容设备
NB3
我读过 gphoto2 不支持网络摄像头 - 无论如何我都会让这个答案可见,以防有人想用一台像样的数码相机而不是网络摄像头来尝试这个答案。
答案4
我使用 Stopmotion 来做这件事,它位于软件中心。您也可以使用 Cheese 进行捕捉,但您必须更改 Cheese 的配置才能增加最大图像数量。我发现最简单的方法是在整个过程中仅使用 Stopmotion。