2012-03-07 82 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