是否有任何命令工具可用於從視訊/串流中提取幀並寫出每個幀的時間戳?

是否有任何命令工具可用於從視訊/串流中提取幀並寫出每個幀的時間戳?

由於 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 腳本。

相關內容