2016-01-06 23 views
0

我在一個目錄中有超過100,000張jpg圖像,並且想從這些文件創建一個動畫。這些文件從文件1到文件125000順序編號。我曾嘗試使用ImageMagick和許多其他免費工具,但沒有奏效。 3小時後,imagemagick發出一個錯誤,指出文件數量太大。有沒有可以處理這個問題的工具(Windows)?來自大量JPG文件的動畫

回答

1

你可以像這樣使用的ffmpeg的命令:

ffmpeg.exe -f image2 -r 30 -i image%06d.jpg -codec:v libx264 -crf 23 video.mp4 

ffmpeg的命令行有這樣的結構:

ffmpeg [input params] -i <input> [output params] <output> 

輸入PARAMS是:

  • - f:用於強制輸入或輸出格式。在我的示例中,用於指示輸入文件旨在被解析爲可用於使用模式指定多個圖像的內部ffmpeg格式,如image2;
  • -r:可用於在輸入或輸出上強制幀速率。如果僅用於輸入,則輸出幀率將被繼承。
  • -i圖像%06d.jpg:該標誌指定與6位整數,填充有前導零(從image000000.jpgimage999999.jpg)讀取所有圖像。當然,ffmpeg會在最後一個現有文件中停止。

其他參數用於指定輸出格式和視頻編解碼器。特別是:

  • -codec:v libx264:指定視頻編解碼器(X264使用libx264)
  • -crf 23:這個參數是特有X264編碼器,用於指定常數RateFactor,和影響的輸出比特率等。
  • video.mp4:如果未指定,FFMpeg會嘗試從輸出文件名猜測輸出格式。在我的示例中,我使用了.mp4,因此FFmpeg將使用libx264編碼器和MP4格式對視頻進行編碼。

FFmpeg的窗口構建可從zeranoe

編輯下載:如果你的圖片名稱沒有前導零嘗試使用,而不是文件%06d.jpg作爲輸入文件名的文件%6d.jpg(不含0 )。

+0

你可以教我們如何捕魚,這樣我們就可以自己做,而不是讓一個人吃晚飯;-)我可以看到'-r 30'可能是30fps的幀率,並且'-i image%06d'可能會選擇一堆輸入圖像,但'-f image2'和'-crf 23'怎麼辦? –

+0

我更願意保持簡單的回答。解釋ffmpeg可能會脫離主題......但我在編輯我的答案,添加有用的信息。 – sardylan

+0

太棒了!謝謝。 –