FFmpeg提取视频全部帧异常:仅得15帧,预期约490帧求助
问题根源:错误的帧率参数
嘿,你的问题很明确——命令里的-r 1/1是关键错误!这个参数是告诉ffmpeg每秒只输出1帧,所以13秒的视频自然只能得到15帧左右(差异来自视频首尾的关键帧处理逻辑),完全不是你想要的“提取全部帧”的效果。
正确提取全部帧的命令
要拿到视频里的每一个原始帧,直接移除-r 1/1参数就行:
ffmpeg -i one.mp4 "$filename%03d.jpeg"
如果担心ffmpeg自动做帧同步调整导致丢帧或重复帧,可以加上-vsync 0强制逐帧输出,确保拿到所有原始帧:
ffmpeg -i one.mp4 -vsync 0 "$filename%03d.jpeg"
小补充:帧数量计算纠正
你提到的“理论490帧”应该是计算失误啦,30fps×13秒实际是390帧左右,最终生成的图片数量会和视频实际的帧总数一致(可能因为视频编码的存在微小差异,但不会差得离谱)。
内容的提问来源于stack exchange,提问作者Andy
相关产品推荐
相关产品推荐

