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
参考:
天道酬勤 循序渐进 技压群雄