ffmpeg使用或确定帧类型ffprobe

ffmpeg使用或确定帧类型ffprobe

我想对压缩视频进行分析,以节省解码部分的计算。

所以我想读取压缩视频,并检查每一帧是否是 I/B/P 帧,并根据帧的类型执行特定的操作(过程)。

我该如何使用 来做到这一点ffmpeg?我还没有在文档中看到如何读取压缩视频。

感谢您的帮助。

答案1

ffmpeg使用或确定帧类型ffprobe

您想处理视频文件,同时检查帧类型。我过去曾有理由这样做。Gyan Doshi 在 SO 上的回答涵盖了这一点

ffmpeg -i input.mp4 -vf select='eq(n,334)',showinfo -f null -

以上将产生视频第 335 帧的输出

n: 0 pts: 171008 pts_time:11.1333 pos:  1090471 fmt:yuv420p sar:1/1 s:1280x720 
i:P iskey:0 type:B checksum:A72D197D plane_checksum:[9008E835 680AC49A 6CD66C90] 
mean:[136 122 134] stdev:[65.4 7.0 9.5]

您可以跳过选择过滤器并获取所有帧的输出,然后使用 grep 类似incBrain 确实注意,要的是显示图片编号,而不是编码。

(答案中没有我添加的附加链接)

根据您想要如何进行,您可以选择使用select如上所述的过滤器,或者获取所有帧的信息(使用ffprobe video.mp4 -show_frames)并处理其中的输出。

相关内容