由於 ffmpeg 不支援命令列參數將當前幀時間戳寫為輸出檔名,因此我迫切需要一個命令列工具,支援從視訊/視訊串流中提取影像並將當前幀時間戳輸出為檔案名稱。
有沒有什麼工具可以滿足這樣的需求?
答案1
您可以使用 ffmpeg 和批次重新命名工具(例如進階重新命名器。
假設您想每 40 幀提取一次
#1提取幀和呈現時間戳列表。
ffmpeg -i in.mp4 -vsync 0 -vf select=not(mod(n\,40)) frames-%d.jpg
-vf select=not(mod(n\,40)) -f mkvtimestamp_v2 pts.txt
除了圖像之外,您還可以獲得 pts.txt,如下所示:
# timecode format v2
0
1600
3200
4800
6400
8000
9600
11200
12800
14400
16000
這些是提取幀的時間戳,以毫秒錶示
#2然後使用批量重命名應用程序,該應用程式支援使用列表重命名來修改幀的檔案名稱。或 shell 腳本。