linux 使用ffmpeg的每秒帧数

vfwfrxfs  于 2023-01-12  发布在  Linux
关注(0)|答案(1)|浏览(177)

我需要计算摄像头每秒捕获的视频的帧数,我还没有找到使用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>

是否有一个命令用于输出视频中每秒的帧数?

goqiplq2

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秒间隔的帧计数。

相关问题