2013-07-20 74 views
-2

命令我使用:如何使用FFMPEG在0,5,10秒僅提取3個視頻幀?

ffmpeg -i input -c:v libx264 -movflags +faststart -preset slow -crf 22 -b:v 500k -c:a libvo_aacenc -b:a 128k "out.mp4" -r 1 -t 3 -ss 3 -s sqcif "%%1d.jpg" 
+0

您應該在[su]處詢問ffmpeg使用問題,因爲[so]僅限於編程。我會將這個問題標記爲遷移,所以請不要轉發。 – LordNeckbeard

+0

這個問題在更多情況下會更好。 – 2013-07-20 08:11:15

回答

1

使用selectsetpts過濾器:

ffmpeg -i input -vf select='eq(t,0)+eq(t,5)+eq(t,10)',setpts='N/(25*TB)'" %03d.jpg 

setpts過濾器是必需的,否則你會重複幀,以填補空PTS。

結合當前的命令:

ffmpeg -i input -c:v libx264 -movflags +faststart -preset slow -crf 22 -b:v 500k \ 
-c:a libvo_aacenc -b:a 128k "out.mp4" -vf \ 
select='eq(t,0)+eq(t,5)+eq(t,10)',setpts='N/(25*TB)',scale=128:-1" %03d.jpg 

我加入了scale過濾器更換-s。它允許您只設置一個值,不管是寬度還是高度,並且使用-1 ffmpeg將計算適當的值以保留方面。

+0

謝謝。我會嘗試。 – kheya