我需要计算摄像头每秒捕获的视频的帧数,我还没有找到使用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>
是否有一个命令用于输出视频中每秒的帧数?
1条答案
按热度按时间goqiplq21#
跑
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秒间隔的帧计数。