【问题标题】:Combine unordered images to video (+MP3 audio)将无序图像组合成视频(+MP3 音频)
【发布时间】:2012-03-08 13:40:43
【问题描述】:

所以我用 ffmpeg 做了一些工作,还创建了自己的 dll,直接使用 ffmpeg API,但是对于我的下一个项目,我需要能够使用 ffmpeg 将多个图像组合成一个视频,同时添加一个 mp3 声音夹子。 我知道您可以对这样的有序图像执行此操作:

image001.jpg image002.jpg image003.jpg etc...


ffmpeg -f image2 -i img%03d.jpg -i sound.mp3 output.mpg

但在我们的项目中,我们没有这样排序的图像。取而代之的是,将哪些图像用于视频的顺序是在运行时确定的(一个图像用于 30fps 的视频的每一帧)。 因此,例如,一个 10 帧的视频可能必须包含以下图像顺序:

image001.jpg image002.jpg image111.jpg image012.jpg imageFun.jpg image001.jpg image002.jpg imageFun.jpg image055.jpg imageEnd.jpg

我将如何使用 ffmpeg 做到这一点? This part of the documentation 在这里并不能完全帮助我。

我真的不想直接从 C/C++ 使用 ffmpeg API,但担心如果“本机”不可能的话,我不得不这样做。

.

加法:

如果 ffmpeg 无法做到这一点,但使用其他一些软件(在 Linux 上运行并且可以从命令行控制) - 我全神贯注! ;)

【问题讨论】:

  • 这也在mailing list 上,似乎这在本地是不可能的,我们必须先复制图像以正确的顺序。丑陋,但我们将不得不测试这是否会过多地影响性能。

标签: image video ffmpeg


【解决方案1】:

您可以尝试使用cat 并将输出通过管道传输到ffmpeg。 Example。该示例使用*.jpg,但您可以使用cat image1.jpg image3.jpg imagedog.jpg 等列出的所有文件来修改它。

【讨论】:

  • 谢谢,帮了大忙。我现在正在这样做(在 Windows 上,顺便说一句): type | ffmpeg -s 640x360 -f image2pipe -vcodec jpegls -r 5 -i - -i audioMp3.data -y video.mp4 ......但是,生成的视频有正确的音频,但只有我正在管道的图像的上 20%。底部的其余部分是灰色的。知道出了什么问题吗?
  • 知道了,我使用了错误的编解码器。 mjpeg 本来是正确的。现在可以使用了,谢谢!
  • 很高兴您找到了解决方案,尽管我忘记了您使用的是 Windows 而不是 Linux。
  • 对于那些发现 "type" 不适合他们的人,您可以安装 unixutils (unxutils.sourceforge.net),将其放在系统路径中,并准备一份 cat 副本。
猜你喜欢
  • 2021-07-08
  • 2017-12-24
  • 1970-01-01
  • 1970-01-01
  • 2019-08-14
  • 1970-01-01
  • 2011-08-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多