如何使用 ffmpeg 從影片中提取幀

如何使用 ffmpeg 從影片中提取幀

我有一個視頻,我想提取35該視頻中的第 - 幀。

如果可能的話我希望它是一個png圖像。

我知道有很多這樣的問題,但我找不到使用幀號的解決方案。

答案1

使用select篩選:

ffmpeg -i <input> -vf "select=eq(n\,34)" -vframes 1 out.png

從 0 開始計數,因此第 35 個 = n 值為 34。

答案2

兩種快速而骯髒的方法:

使用FFmpeg使用seek 選項可執行。您需要先轉換為時間,例如,如果我想要幀 150 並且我的影片為 29.97 FPS,則命令將為ffmpeg -ss 00:00:05.01 -i myvideo.avi -frames:v 1 myimage.jpg。這可能有點不準確。若要按精確幀查找,您需要使用 FFmpeg 庫C++

另一種「hacky」方式是使用VLC媒體播放器。檢查選單查看->先進的控制。暫停影片並點擊逐幀按鈕 34 次。

相關內容