我第一次尝试延时摄影。我从智能手机相机拍摄的图像的文件名中有时间戳,因此它们是可排序的,但不是连续编号的,这让任何尝试都无法顺利完成ffmpeg
。
我如何将这些图像处理成延时视频?操作系统是 Ubuntu MATE 16.04。
答案1
命令行方法
mencoder
从仓库中抓取。- 将您的图像文件(所有图像文件、整个图像文件以及仅有图像文件)放入单独的目录中。
mencoder
对它们运行,例如mencoder mf://*.jpg -mf w=1920:h=1080:fps=25:type=jpg -ovc lavc -lavcopts vcodec=msmpeg4v2:vbitrate=16000:keyint=15:mbd=2:trell -oac copy -o output.avi
。
上述选项对我的图像效果很好,这些图像的分辨率为 HD1080,可以以 25fps(欧洲常见的电视帧速率)生成视频。如果您有不同的需求,则需要调整选项。
开关后的选项-mf
指定媒体格式。
- 设置
w=1920:h=1080
为您想要的宽度和高度。 - 设置
fps=25
为您想要的帧速率。
后面的选项-lavcopts
是编码器选项。这些选项会严重影响输出质量。
vbitrate=16000
将比特率设置为 16 Mbit/s,我发现这对于 HD1080 来说效果很好。对于较低的分辨率,您可以降低此值 - 我听说vbitrate=8000
VGA 分辨率下可以获得良好的效果。警告:这个值的解释很棘手。 16000 以下的值将被解释为千字节(1000 字节),任何高于该值的值都将解释为字节。 因此,最大值 24 Mbit/s 将输入为vbitrate=24000000
。 (我发现这会导致文件略大,所以我最终决定坚持使用这个值。)keyint=15
指定每 15 帧一个关键帧。关键帧保存全屏图像,而所有其他帧仅保存自上一帧以来的变化。增加此值会导致文件变小,但会降低定位精度(视频播放器只能定位到关键帧)。
GUI 方法
从存储库获取 StopMotion。一定要获取mencoder
- 它不是依赖项,但导出视频文件时需要它。
StopMotion 的默认帧率为 12 fps,相当奇特 - 您可以在主窗口中更改该帧率。之后,只需将图像文件添加到项目中即可。您可以在 StopMotion 中直接预览影片,并将其保存为项目,以便以后再次编辑。
当您对结果满意时,您可以将其导出为电影。不过,在执行此操作之前,我强烈建议您修改 StopMotion 的首选项mencoder
,因为默认选项会以 12fps 的速度制作出看起来相当块状的视频。
更改默认设置:
mencoder -ovc lavc -lavcopts vcodec=msmpeg4v2:vpass=1:$opt -mf type=jpg:fps=12 -o "$VIDEOFILE" "mf://$IMAGEPATH/*.jpg"
到:
mencoder -ovc lavc -lavcopts vcodec=msmpeg4v2:vbitrate=16000:keyint=15:$opt -mf type=jpg:fps=25 -o "$VIDEOFILE" "mf://$IMAGEPATH/*.jpg"
之后,导出您的视频。