如何将 30,000 张图像组合成延时摄影影片?

Swi*_*ift 77 video timelapse image-processing

我已经拍摄了 30,000 张静止图像,我想将它们组合成延时摄影电影。我尝试过 QuickTime Pro、TimeLapse 3 和 Windows Movie Maker,但是由于图像数量如此庞大,每个程序都失败了(我尝试了 SUPER ©,但也无法让它工作......?)。似乎所有这些程序在几千张图片后都崩溃了。

我拥有的图像都是 .JPG 格式,分辨率为 1280x800,我正在寻找一个程序,可以将这些图像以某种无损格式(原始/未压缩的 AVI 可以)放入延时摄影电影中,以便进一步编辑。有没有人有任何想法,或者有没有人用类似数量的图片尝试过这样的事情?

klo*_*kop 57

Avidemux 可以从一堆图像中创建电影。http://fixounet.free.fr/avidemux/

您也可以使用 mencoder,但使用起来有点困难,所有命令行选项都包含在内。我一直在用这个:

mencoder mf://*.jpg -mf fps=xxx:type=jpg -ovc x264 -x264encopts bitrate=yyyy:threads=2 -o outputfile.mkv
Run Code Online (Sandbox Code Playgroud)

我用

xxx = 25 and 
yyy = 1200
Run Code Online (Sandbox Code Playgroud)

这产生了很好的视频。通过插入将曲调添加到电影中:

-oac copy -audiofile audiofile.mp3
Run Code Online (Sandbox Code Playgroud)

  • Avidemux 摇滚!快速插入 33.000 张图像。快速保存到未压缩的 AVI - 它会自动拆分为 4GB AVI 块。但它们都可以玩! (2认同)
  • +1 Avidemux,我已经使用 MeGUI 进行了大量视频编辑,甚至不知道存在如此好的替代方案! (2认同)
  • mencoder 输出 avi,无论输出文件名如何。有输出其他格式的选项,但代码不能很好地工作。推荐的方式是输出h.264-in-avi,然后remux。只需使用 ffmpeg 即可。(见谢纳尔席尔瓦的回答) (2认同)

She*_*lva 45

使用FFmpeg

这将从一系列 png 图像创建一个视频幻灯片(使用视频编解码器 libx264),命名为 img001.png, img002.png, img003.png, ...

每个图像将有 5 秒的持续时间,根据您的选择更改变量。

ffmpeg -f image2 -r 1/5 -i img%03d.png -c:v libx264 -pix_fmt yuv420p out.mp4
Run Code Online (Sandbox Code Playgroud)

如果您的图像有四位数字,请使用%04d等。如果您的图像没有这种模式,您可以使用 shell globs,至少在 Linux 和 OS X 上:

ffmpeg -f image2 -pattern_type glob -i 'time-lapse-files/*.JPG' …
Run Code Online (Sandbox Code Playgroud)

您还可以通过-r在输入后指定另一个来更改输出帧率。

  • 只是一个警告:不要认为你可以绕过 ffmpeg 的 printf 语法而只使用 *.jpg 或其他更复杂的模式。它实际上会用第一个图像文件覆盖您的每个图像文件!我自己试过了。 (9认同)
  • 您可以对 image2 输入格式使用 `-framerate`。我建议不要设置与输入 fps 不同的输出 fps,除非您确实希望 ffmpeg 丢弃或复制帧。(除非输出到像 mkv 这样的容器,其中 ffmpeg 支持可变帧速率。)是的,刚刚测试过,并且您确实通过 x264 获得了额外的 dup 帧,因此只需设置输入的 FPS,但放置 `-r` 或 `-帧率`之前`-i .../stuff` (2认同)
  • 我也推荐 ffmpeg。我在这里写了博客(关于准备和论点的更多细节):http://www.dsebastien.net/2015/01/25/simple-time-lapse-using-ffmpeg/ (2认同)

Chr*_*isF 12

如果您进行一些基本计算,您会发现如果您试图保持电影未压缩,您可能会耗尽内存。

每帧为 1,024,000 像素。每像素 32 位,即 32,768,000 位(4,096,000 字节或3.9 MB)。

如果我们将其乘以 30,000 帧,您需要 117187.5 MB ( 114.45 GB ) 的内存来一次性将整部电影保存在内存中 - 难怪 QuickTime Pro 失败了。

您可以尝试降低分辨率,但这可能仍然失败。

您将需要以较小的块构建电影,然后将整个内容拼接在一起。我希望有一些应用程序可以在不将整个电影加载到内存中的情况下执行此操作。最终的电影也必须被压缩——同样因为它会在硬盘上占用 114 GB。毕竟一部电影只占用一张 DVD,而您的电影有 20 分钟长(每秒 25 帧)。

  • AFAIK,世界上没有任何视频编辑程序可以在解析/保存之前将*任何*未压缩的剪辑完全存储在内存中。 (4认同)
  • @ddrachenstern 和 @ChrisF - 即时存储和长期存储之间存在差异。没有视频编辑程序可以将未压缩视频数据的整个长度存储在内存中。即使当您滚动预览时,它也会从各种媒体源中存储在硬盘上的数据重新创建数据(可能还有更多用于缓存)。除此之外,当您最终“渲染”一个项目时,您将获得完整的视频输出(通常作为流)。然后可以按原样保存完整的视频输出(例如未压缩/RAW),或流式传输到编码器。 (2认同)

JYe*_*ton 11

尝试PhotoLapse;它的综述了上Lifehacker.com这里

在此处输入图片说明


小智 11

我已经使用它超过 2 年了,它适用于 10,000 多张图像:

1080p@24fps,无声音

ls -1v | grep JPG > files.txt
mencoder -nosound -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=21600000 -o windowsill_flowers_7.avi -mf type=jpeg:fps=24 mf://@files.txt -vf scale=1920:1080
Run Code Online (Sandbox Code Playgroud)

4k@90fps,无声音

ls -1v | grep JPG > files.txt
mencoder -nosound -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=21600000 -o windowsill_flowers_7.avi -mf type=jpeg:fps=90 mf://@files.txt -vf scale=3840:2160
Run Code Online (Sandbox Code Playgroud)

不过,在获得 youtube 可以识别的内容之前,我不得不经常使用编解码器。可以在此处找到使用第二个块的示例:http : //www.youtube.com/watch?v=4G_aaPG2QWk


Kat*_*atu 8

我使用谷歌的 Picasa。在我看来,它也是一个非常好的照片组织者。这是如何。

  1. 文件 > 将文件夹添加到 Picasa... > 添加包含照片的文件夹。
  2. 右键单击左侧“文件夹”菜单中添加的文件夹,然后选择所有图片
  3. 从顶部菜单 > 创建 > 视频 > 从选择...
  4. 现在您位于视频制作器 > 视频选项卡 > 过渡样式 > 延时摄影
  5. 您可以加载音轨、更改尺寸(我通常使用 1024x768)、在幻灯片选项卡中添加带有文本的幻灯片...
  6. 视频制作器 > 视频选项卡 > 创建视频。您也可以使用您的 google 帐户登录并从这里将其上传到 youtube。

回到库中,您可以右键单击视频 > 在磁盘中定位以查看视频的保存位置。使用 Picasa 的另一个好处是您可以选择所有图片并转到顶部菜单图片 > 批量编辑 > 手气不错。它将同时校正所有照片的对比度和颜色。

在创建视频之前,您可能需要使用http://motiontimelapser.co.nr/ 为延时摄影添加一些动作

免责声明:我是作者。


wjl*_*wjl 5

不久前,当我尝试在本地黑客空间进行一次创建马拉松时,我遇到了类似的问题。我运行 OS X,所以我不确定在 Windows 上使用它有多可行,但我使用了 MEncoder。

这是我在终端中使用的命令:

mencoder mf://*.jpg -mf w=800:h=600:fps=5:type=jpg -ovc copy -oac copy -o buildmadison.avi
Run Code Online (Sandbox Code Playgroud)

这有两个问题:

  1. 是 AVI。
  2. 它所做的只是将图像一起放入一个没有压缩的文件中。当然,它的速度非常快,而且确实有效!

之后,我通过另一个实用程序运行它,将其转换为中等体面的格式。

MEncoder 是 MPlayer 项目的一部分,位于:http : //www.mplayerhq.hu/


小智 5

我发现 MakeAVI 是最适合我的程序!

你可以在这里下载:http : //sourceforge.net/projects/makeavi/?source=dlp

  • 您所要做的就是下载它,然后在下载的文件夹中运行可执行文件(无安装程序)。
  • 然后要添加图片,只需按右上角的“添加文件”按钮,然后选择要编译的图片即可。
  • 导入后,您可以使用左侧中间的“上”和“下”来调整图片的顺序,以防它们没有保持顺序。
  • 然后要调整编译好的图片的帧率,您可以将“播放帧率”帧内的文本框,右下角,更改为您想要的帧率。
  • 由于该程序仍处于测试阶段 (0.1.1),因此有些功能无法正常工作。按“开始”按钮并指定所需的文件名。当它询问你想要什么类型的压缩时,选择你想要的,除了“全帧(未压缩)”对我不起作用。
  • 然后一旦完成编译视频,就去观看视频,看看它是如何的。如果视频为空白(无长度),请尝试更改压缩选项。(这就是我尝试“全帧(未压缩)”时发生的情况)

我无法让这里列出的任何其他方法起作用,而这个方法对我有用!希望这对你有用!:)