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 @ 2022-01-20 09:44  wuyuan2011woaini  阅读(660)  评论(0编辑  收藏  举报