You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

FFmpeg转码FPS显示异常及获取每帧对应FPS值相关问题咨询

FFmpeg相关问题解答

问题1:设置输出帧率为24但控制台显示fps数值异常

你在控制台看到的fps数值是FFmpeg实时转码处理速度,代表当前每秒可以处理多少帧视频,和你设置的输出视频帧率没有关联。该数值越高代表转码性能越强,你设置的24fps是最终输出视频的每秒帧数,不受这个处理速度数值影响,只要转码命令里的帧率参数配置正确,输出文件的帧率就是你设置的24。

问题2:获取每一帧对应的帧率数值

你可以通过两种方式实现需求:

  • 转码时实时打印每帧帧率:在FFmpeg命令中加入showinfo滤镜,转码过程中会输出每帧的pts、时长等信息,通过1/帧时长即可计算得到当前帧对应的帧率,命令示例如下:
ffmpeg -i input.mp4 -vf showinfo -r 24 output.mp4

输出日志中每帧的pkt_duration_time字段即为当前帧的显示时长,单位为秒,对应帧率为1/pkt_duration_time。

  • 无需转码直接批量提取所有帧的帧率数据,可使用ffprobe实现,命令示例如下:
ffprobe -v error -select_streams v:0 -show_entries frame=pkt_duration_time,coded_picture_number -of csv=p=0 input.mp4 | awk '{print "帧序号:"$2",帧率:"1/$1}'

如果处理的是恒定帧率视频,所有帧的帧率数值会保持一致;如果是可变帧率视频,每一帧的帧率会根据实际时长动态变化。

内容的提问来源于stack exchange,提问作者zhin dins

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 14:18:00