5

白天,我每分钟都用相机拍照。我想从图像中制作视频。1 天 -> 1 个视频

我在一天结束时使用 mencoder 这样做: mencoder "mf://*.jpg" -mf fps=25:type=jpg -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell:vbitrate=7000 -vf scale=1024:768 -oac copy -o movie.avi 它工作正常,但是:

问题是我需要在 Raspberry Pi(700MHz ARM)上进行,他需要大约一个小时才能从白天拍摄的 1500 张照片中制作视频(它的工作速度约为 0.5 fps)。

有什么方法可以“连续”制作视频 - 如何在拍摄后立即将每张图片传递给 mencoder - 并在每天午夜停止制作视频?然后它会拍照,处理 2-3 秒,然后再等一分钟再做一次。

谢谢。

4

2 回答 2

1

您为什么不每隔一小时左右从图片中制作一个视频,然后将其与您现有的视频合并?

合并视频:

mencoder -oac copy -ovc copy -idx -o daily.avi this_hour.avi

您每隔一小时左右执行一次,然后在一天结束时,您daily.avi将合并所有图像。

于 2015-04-21T13:00:09.633 回答
1

这不提供答案mencoder,但ffmpeg在评论中允许。

要求:

  • 所有图片必须连续编号(即picName1.png、picName2.png等)
  • 所有图片必须在同一个文件夹中。
  • 由于最近更改了选项,因此您必须拥有最新版本的 ffmpeg

要创建您的视频,请使用:

ffmpeg -r fps -f image2 -i '/path/to/your/picName%d.png' -qscale 0 '/path/to/your/new/video.avi'
  • fps替换为所需的帧速率(10、25、30 等)fps。
  • 用实际路径替换/path/to/your/picName,但留下 %d告诉 ffmpeg 在那里放一个数字。
  • /path/to/your/new/video.avi替换 为您选择的目的地。

以这种方式创建的视频将具有最高质量。-q您可以使用该选项调整质量以匹配您的视频大小要求。

有关更多解释,请参见ffmpeg 的手册页。

不幸的是,据我所知,没有办法每隔几分钟左右传递一张照片。我建议以下解决方案之一:

  • 每天午夜编译一次视频。你在凌晨 1 点收到它。
  • 每天编译几次视频,如果你需要看的话。这是很多浪费的处理,因为您每次都处理整个批次。
  • 按块编译视频(例如每 2 小时)并在一天结束时合并所有视频。

如果白天不需要看视频,那么第一种方案是最简单的。


以下是手册页的引用:

从许多图像创建视频:

ffmpeg -f image2 -i foo-%03d.jpeg -r 12 -s WxH foo.avi 语法“foo-%03d.jpeg”指定使用由三个数字组成的十进制数用零填充来表示序列号。它与 C printf 函数支持的语法相同,但仅适用于接受普通整数的格式。

于 2013-03-21T12:09:12.150 回答