ffmpeg视频抽取帧

 

抽取视频关键帧(IPB帧)

  视频关键帧(Video Keyframes)是用于视频压缩和视频编解码的帧,视频关键帧是包含了完整信息的帧,其他的非关键帧将会使用与关键帧的差值进行压缩。视频帧具体可以分为IPB帧三种:

  I帧表示关键帧,是最完整的帧画面,一般视频封面都选择I帧;

  P帧单预测帧,利用之前的I帧或P帧,采用运动预测的方式进行帧间预测编码;

  B帧双向预测帧,利用双向帧进行预测编码;

  一般情况下关键帧`I帧`是信息最多的帧,也是用途最多的帧。在视频检索和视频分类任务中一般都借助`I帧`来完成,在一个时长60s的视频中,可以抽取得到16个I帧、84个P帧和184个B,

  I帧数量少包含的信息却是最多的。

 

1、抽取I帧

  ffmpeg -i D:/test/test1.MP4 -vf "select=eq(pict_type\,I)" -vsync vfr -qscale:v 2 -f image2 D:/test/%03d.jpg

2、抽取P帧

  ffmpeg -i D:/test/test1.MP4 -vf "select=eq(pict_type\,P)" -vsync vfr -qscale:v 2 -f image2 D:/test/%03d.jpg

3、抽取B帧

  ffmpeg -i D:/test/test1.MP4 -vf "select=eq(pict_type\,B)" -vsync vfr -qscale:v 2 -f image2 D:/test/%03d.jpg

 

参考:https://zhuanlan.zhihu.com/p/85895180?ivk_sa=1024320u

   https://www.jianshu.com/p/f07f0be088d0

posted on 2021-09-10 09:17  shaomine  阅读(2549)  评论(0编辑  收藏  举报