我使用ffmpeg從視頻中每隔五分鐘提取一幀(作爲jpeg),並按順序將輸出從控制檯傳輸到文本文件以獲取提取的幀的確切時間戳。使用ffmpeg從視頻中提取多個圖像並獲取提取圖像的時間戳
我使用的命令是:
ffmpeg -i input.avi -ss 00:10:00 -vframes 10 -vf showinfo,fps=fps=1/300 %03d.jpg &> output.txt
凡-ss 00:10:00
讓我開始前跳到10分鐘在視頻和-vframes 10
讓我只捕獲第一10幀(每5分鐘1幀) 。
這幾乎可以正常工作,只是命令輸出所有幀的信息,包括那些沒有寫成JPEG格式的信息。這裏是一個三線輸出樣本:
[Parsed_showinfo_0 @ 0x2219020] n:11427 pts:11429 pts_time:599.979 pos:48892180 fmt:yuv420p sar:1/1 s:640x480 i:P iskey:0 type:P checksum:6309A75D plane_checksum:[15A29007 1617E1FE D93A3549] mean:[146 125 153 ] stdev:[17.6 1.0 2.1 ]
[Parsed_showinfo_0 @ 0x2219020] n:11428 pts:11430 pts_time:600.031 pos:48898094 fmt:yuv420p sar:1/1 s:640x480 i:P iskey:0 type:B checksum:815D031A plane_checksum:[E004E973 E28CE2D5 F56636B4] mean:[146 125 153 ] stdev:[17.6 1.0 2.1 ]
[Parsed_showinfo_0 @ 0x2219020] n:11429 pts:11431 pts_time:600.084 pos:48892448 fmt:yuv420p sar:1/1 s:640x480 i:P iskey:0 type:P checksum:6CE2D3C5 plane_checksum:[E983BD86 38B9E198 93B13498] mean:[146 125 153 ] stdev:[17.6 1.0 2.1 ]
我期望中間線,與pts_time:600.031
,要被提取作爲圖像的第一幀,但沒有辦法從其它幀任一側上,其中,圖像區分它沒有被提取。
有沒有人知道一種方法來解決這個問題?
謝謝!
這裏ffout是output.txt –