在ffmpeg中通常使用 ffprobe来获取视频流的总帧数;这种类型的任务是ffprobe擅长的。
命令行:
ffprobe -v error -count_frames -select_streams v:0 -show_entries stream=nb_read_frames -of default=nokey=1:noprint_wrappers=1 input.mp4
输出:
6000
>在本例中,6000的输出是指读取帧的数量。
>因为整个文件必须解码,命令可能需要一段时间才能完成,具体取决于具体的输入文件大小。
选项的含义
> -v error:这隐藏了“info”输出(版本信息等),使解析更容易。
> -count_frames:计算每个流的帧数,并在相应的流部分中报告。
> -select_streams v:0 :仅选择视频流。
> -show_entries stream = nb_read_frames :只显示读取的帧数。
> -of default = nokey = 1:noprint_wrappers = 1 :将输出格式(也称为“writer”)设置为默认值,不打印每个字段的键(nokey = 1),不打印节头和页脚(noprint_wrappers = 1)。