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。
要从网络摄像头中每 X 秒捕获一次,请使用动作。
安装 motion
sudo apt-get install motion 或者 sudo aptitude install motion
为每 X 秒配置运动
sudo nano /etc/motion/motion.conf
将变量minimum_frame_time和snapshot_interval更改为您希望使用网络摄像头拍摄照片的秒数。
10 分钟 = 600 秒
20 分钟 = 1200 秒
30 分钟 = 1800 秒
1 小时 = 3600 秒
2 小时 = 7200 秒等等...
sudo motion用CTRL+停止运行运动C
注意 - 配置motion.conf 以将文件保存在默认/tmp 之外的另一个目录中。例如您的主文件夹。由于转到 /tmp 需要更多权限。您还可以在motion.conf 中找到许多有用的选项,用于您可能喜欢的许多其他内容。

用于捕获图像以生成延时视频的应用程序,构建于 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 不支持网络摄像头 - 无论如何我都会让这个答案可见,以防万一有人想用像样的数码相机而不是网络摄像头来尝试这个答案。