我需要计算摄像机每秒捕获的视频中的帧数。我还没有找到使用ffmpeg或ffprobe(或其他东西)输出每秒帧数的解决方案(由于捕获机制,不能保证保持恒定的帧率,需要验证)。
到目前为止,我需要分别运行ffmpeg和ffprobe。首先,我运行ffmpeg来修剪视频:ffmpeg -ss 00:00:00 -to <desired time in seconds> -i <in_video> -c copy <out_video>
然后,运行ffprobe来计算代码片段中的帧数:
ffprobe -v error -select_streams v:0 -count_frames -show_entries stream=nb_read_frames -print_format csv <out_video>
是否有一个命令来输出视频中每秒钟的帧数?
Run
ffmpeg -report -i <in_video> -an -vf select='if(eq(n,0),1,floor(t)-floor(prev_selected_t))' -f null -
在生成的报告中,搜索select:1.000000
将得到形式为
的行[Parsed_select_0 @ 000001f413152540] n:270.000000 pts:138240.000000 t:9.000000 key:0 interlace_type:P pict_type:P scene:nan -> select:1.000000 select_out:0
t
为时间戳,n
为帧索引。检查每个连续t
的帧索引。区别在于1秒间隔内的帧数。