2014-01-29 107 views
0

我使用ffmpeg從一段.mov視頻中生成縮略圖。我想縮略圖每兩秒鐘,因此,從https://trac.ffmpeg.org/wiki/Create%20a%20thumbnail%20image%20every%20X%20seconds%20of%20the%20video幾乎直接複製,我做:ffmpeg縮略圖:每2秒產生一次0,1,3,5秒

ffmpeg -i test.mov -f image2 -vf fps=fps=1/2 thumb%04d.jpg 

這工作,並給我的縮略圖,但它們對應於從視頻圖像爲0, 1,3,5,...秒。我期待着0,2,4,6,...秒;我不確定爲什麼縮略圖之間會出現最初的一秒差距,然後纔會讓它們每兩秒鐘完成一次。

有沒有辦法讓他們在0,2,4,6 ...秒出來,或者這只是「它是如何工作的」?謝謝!

回答

2

這與您的問題沒有關係,但過去參數「fps」出現了幀準確性問題。相反,我使用「選擇」過濾器:

ffmpeg -i test.mov -vf "select='not(mod(n,50))',setpts='N/(25*TB)'" -f image2 thumb%04d.jpg 

這應該適合你,以及如果你處理25幀/秒的電影。

編輯:

對於NTSC,改變選擇過濾器,以:

select='not(mod(n,60))',setpts='N/(30*TB)'" 

和電影院電影,它更改爲

select='not(mod(n,48))',setpts='N/(24*TB)'" 

基本上它覆蓋PTS(呈現時間戳)到正確的值並在每次幀號是「Mod」功能內的值的倍數時選擇一幀。該值必須等於您的幀率的兩倍。

請原諒我使用默認的PAL值,我主要在歐洲使用FFMPEG作廣播用途:)

+1

請解釋命令。 – BlueSword

+0

嗯 - 我試過了,在0,1.62,3.28,4.95,4.95(是的,又是),6.61,8.27和9.94都得到了圖像。在這個測試中,我正在使用我的手機的視頻運行秒錶約12秒;它開始接近0:00,因爲我可以得到,但可能是一兩幀,但沒有更多。我也與@Jay有關不理解命令... –

+0

嗨,我試圖更好地解釋它。讓我知道如果它仍然不清楚!對不起,僅在第一時間發佈帶PAL值的答案;) – AJ29