如何使用网络摄像头制作定格动画或延时video?

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

捕获定格动画或定时video最方便的方法是什么?

NB

停止运动和延时是相关的,但在概念上是不同的。

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

停止运动是您控制场景并为每个变化拍摄图像的地方,以形成动画(例如Wallace和Grommit)。

时间推移申请需要能够以设定的间隔拍摄照片。

捕获数以万计的图像。

第一步是捕捉图像。 假设你想每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是每秒帧数。 所以这应该每秒抓一帧。 如果将其压缩为30fpsvideo,则一分钟的捕获将成为2秒的video。 您需要根据所需的输出video量进行适当调整。

该行将为您提供2000张图像,它需要半小时才能录制,而在30fps时,将生成超过1分钟的video。

把它们放在一起

我打算用ffmpeg 。 有许多不同的方式将它组合在一起,包括mencoder但我更喜欢ffmpeg的人生观。 安装它之后( sudo apt-get install ffmpeg )就是这样:

 ffmpeg -r 30 -i %04d.jpeg -s hd480 -vcodec libx264 -vpre hq time-lapse.mp4 

那里的质量设置并不像我的网络摄像头那样,所以你可能想要更多地使用选项以获得更好的编码,但这应该会产生一个很好的30fpsvideo,压缩在x264。

您可能想要使用帧速率( -r ),但我不会低于15fps。

从网络摄像头使用动作捕获每X秒的秒数。

安装motion

sudo apt-get install motionsudo 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 motion运行运动用CTRL + C停止sudo motion

注 – 配置motion.conf以将文件保存在默认/ tmp之外的其他目录中。 例如您的主文件夹。 因为转到/ tmp需要更多权限。 您还可以在motion.conf中找到许多您可能喜欢的其他有用的选项。

gTimelapse ( 下载链接 )

在此处输入图像描述

用于捕获图像以生成间隔拍摄video的应用程序,构建于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 & 

nb 1

 gphoto2 --list-cameras | more 

nb 2

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

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

nb 3

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

我使用Stopmotion来做这件事,它在软件中心。 您也可以使用Cheese捕获,但您必须更改Cheese的配置以增加最大图像数。 我发现在整个过程中使用Stopmotion最简单。

最好和最简单的方法是安装Motion 。 它是基于Linux的操作系统的全面监控软件。

通过软件中心安装

您应该能够设置动态(在motion.conf中)以进行流式处理 – 默认情况下,它会在端口8081上流式传输。然后,您需要做的就是打开VLC,“打开网络流”和将它指向http:// localhost:8081 。

Camorama是一个网络摄像头观察器/录像机,我习惯于每隔1分钟拍照,然后从网络摄像头上传到网络服务器; 这是一个简单的设置。 它也可以在Ubuntu软件中心使用,也可以使用以下命令安装:

 sudo apt-get install camorama 

希望这可以帮助。