将一张又一张的图像输入 avconv

将一张又一张的图像输入 avconv

我最近拍摄了一堆图像来制作延时视频,使用起来avconv出奇的简单(查找正确的命令后)。

但现在我想先通过 Imagemagick 的convert函数发送每幅图像,然后再将其传递给 avconv。

这可以通过保存已编辑的图片并将其用作输入来实现avconv然而,我想避免这种情况,主要是因为它占用了很大的空间。

什么我想要做的就是这样

  • avconv 在后台运行
  • 执行 { 某些处理;编辑图像;发送结果至avconv;} 对所有图像重复此操作
  • 退出 avconv 并保存生成的视频

制作延时视频时如何即时编辑图片?

答案1

无法完成确切地按照你想要的方式完成,你可以接近,但这需要很多操作。

我也理解其背后的原因:您希望将函数的输出convert视为之后可以删除的临时文件,因此不要:

@!/bin/bash
convert -stretch 1280x720 -background none ~/Pictures/MyTimelapseImages/*.jpg ~/tmp/MyTempImages/*.jpg
avconv -i ~/tmp/MyTempImages/*.jpg ~/Videos/MyTimeLapsVideo.mkv

您希望在一个 CPU 核心上启动图像转换过程,同时在另一个 CPU 核心上启动视频转换过程并删除已经由 avconv 处理过的文件(节省磁盘空间)

这是后者这需要一些技巧,因为你必须cpulimit同时avconv convert他们正在近乎完美相互同步,然后创建另一个过程这将清理已处理的文件。

所以,是的,这是可以做到的,如果你在一家大公司工作,他们希望你在他们的 100 多个服务器群上节省数千美元,那么这是值得的。在你的系统上?为自己?还是为一部电影?

让你为其拍摄这部电影的人捐钱给你买一个更新、更大的硬盘!

;-)

相关内容