2014-07-01 65 views
0

我有一系列的png圖像,我需要轉換爲以60幀/秒播放的視頻。上述ffmpeg添加不必要的幀來輸出視頻

ffmpeg -y -i frames/%4d.png -vcodec libx264 -r 60 video.avi 

代碼使得視頻有每秒60幀,但它使用相同的幀中的兩個或三次,有效地與兩倍長25肥胖型fps視頻結束了。我究竟做錯了什麼?

回答

1

一些ffmpeg參數是位置依賴。 ffmpeg的指點你通過它的幫助:

# ffmpeg -h 
... 
Global options (affect whole program instead of just one file: 
-loglevel loglevel set logging level 
... 
Per-file main options: 
-f fmt    force format 
... 
# 

-r是在其上按文件規定這些PARAMATERS的。

爲了一個參數適應輸入文件必須相應-i參數之前寫的-r參數

所以下面應該爲你(爲我工作用的MPEG4編碼器)工作:

ffmpeg -y -r 60 -i frames/%4d.png -vcodec libx264 video.avi 

你也試試,因爲libx264編碼器可能無法適應幀速率:

ffmpeg -y -r 60 -i frames/%4d.png -vcodec libx264 -r 60 video.avi 
+0

感謝。我讀過'-r'是位置依賴的,但從來沒有嘗試過使用它兩次......我現在得到奇怪的結果,從輸入文件從'rgba'切換到'rgba64be'時丟失了162幀,丟棄的仍然是'rgba64be',它們完全沒問題... – Mirac7