2012-03-07 139 views
3

因此,我使用ffmpeg做了一些工作,并且直接使用ffmpeg API创建了自己的dll,但对于我的下一个项目,我需要能够将多个图像合并到一起一个带有ffmpeg的视频,还添加了一个mp3声音剪辑。 我知道你能做到这一点有序相似图片:将无序图像合并到视频(+ 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上,可以从命令行控制) - 我所有的耳朵! ;)

+0

这也位于[邮件列表](http://ffmpeg-users.933282.n4.nabble.com/ Combine-unordered-images-to-video-MP3-audio-td4453148.html),看起来这不是本地可能的,我们必须先将图像复制到正确的顺序。丑陋的,但我们将不得不测试这是否会影响性能太多。 – TheSHEEEP 2012-03-07 13:11:01

回答

1

您可以尝试使用cat并将输出传输到ffmpeg。 Example。该示例使用*.jpg,但可以使用列出的所有文件对其进行修改,而不是像cat image1.jpg image3.jpg imagedog.jpg等。

+0

谢谢,这有很大的帮助。我现在正在做这个(在Windows上,btw):**键入<这里是jpeg图像列表> | ffmpeg -s 640x360 -f image2pipe -vcodec jpegls -r 5 -i - -i audioMp3.data -y video.mp4 ** ......然而,最终的视频具有正确的音频,但只有上面的20我正在滚动的图像的百分比。其余的底部是灰色的。任何想法出了什么问题? – TheSHEEEP 2012-03-08 08:39:12

+0

明白了,我使用了错误的编解码器。 mjpeg本来是对的。它现在有用,谢谢! – TheSHEEEP 2012-03-08 08:46:56

+0

很高兴您找到了解决方案,尽管我忘记了您使用的是Windows而不是Linux。 – LordNeckbeard 2012-03-08 17:49:50

相关问题