使用FFmpeg将序列PNG转为GOP=1视频时ffplay帧定位异常求助
问题解决方法
你的问题出在图片编号的起始匹配上:%03d格式默认会从image000.png开始读取,但你的图片是从image001.png开始的。ffmpeg找不到初始的image000.png时,会自动补一个空白/重复帧作为视频的第一帧,导致后续所有帧的位置都偏移了1位,所以用ffplay定位时就会出现帧不匹配的情况。
修正后的命令
添加-start_number 1参数,明确告诉ffmpeg从编号1的图片开始读取:
ffmpeg -start_number 1 -i image%03d.png -c:v libx264 -g 1 -pix_fmt yuv420p out.mp4
验证定位是否正确
转码完成后,用ffplay的帧选择滤镜测试特定帧(注意ffmpeg系工具的帧索引从0开始,比如要查看第5张图片对应的帧,需要指定eq(n\,4)):
ffplay -ss 0 -vf "select=eq(n\,4)" out.mp4
你的-g 1设置是正确的,确保每帧都是独立的I帧,不会因为帧间依赖影响定位。
内容的提问来源于stack exchange,提问作者ark1974
相关产品推荐
相关产品推荐

