ffmpeg中没有直接的命令读取第N帧

但是可以通过 t= N/framerate 来获取到具体第N帧的时间
然后用 -ss t进行跳转。

比如帧率(frame rate)为24fps的视频G:/1/1.mp4文件从第1000帧开始进行播放,先计算出时间为
t = 41.66666

ffplay -i G:/1/1.mp4 -ss 41.66666

提取第1000帧的图片

ffmpeg -i G:/1/1.mp4 -ss 41.666666 -frames 1 G:/1/1.png

视频中 N 与 pts 与 t 的关系 (pts是以timebase为单位进行计数的,t  以 秒 为单位)
pts=N/(timebase*framerate)       N=pts*timebase*framerate
t=N/framerate=pts*timebase 

更多推荐