如何将 30,000 张图像组合成一部延时电影?

如何将 30,000 张图像组合成一部延时电影?

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

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

答案1

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

我用

xxx = 25 and 
yyy = 1200

制作的视频质量很好。通过插入以下内容将音乐添加到电影中:

-oac copy -audiofile audiofile.mp3

答案2

使用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

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

ffmpeg -f image2 -pattern_type glob -i 'time-lapse-files/*.JPG' …

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

答案3

如果您做一些基本的计算,您会发现如果您试图保持影片不压缩,您可能会耗尽内存。

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

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

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

您需要将电影分成几个小块,然后将整个电影拼接在一起。我希望有些应用程序可以做到这一点,而无需将整个电影加载到内存中。最终的电影也必须压缩 - 因为它会占用硬盘上的 114 GB。毕竟,一部电影只占用一张 DVD,而您的电影长达 20 分钟(每秒 25 帧)。

答案4

我已经使用它超过 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

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

不过,我不得不花很多时间摆弄编解码器,才能得到 YouTube 可以识别的内容。使用第二个块的示例可以在这里找到:http://www.youtube.com/watch?v=4G_aaPG2QWk

相关内容