我使用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 –