在一些视频分类任务中,往往需要从视频中提取指定帧,提取RGB信息然后进行训练和分类。
提取帧的方法有很多,不过在一些对时间限制比较大的场合,为了提高速度,会采用ffmpeg的方法来进行提取,因为目前它是相对最高效的办法。
ffmpeg提供了每隔几帧抽取的办法,但是这个函数没有现成的,在网上找了好久才自己完成。
现将该脚本撰写如下:
ffmpeg -i 10021502.mp4 -vf "select=between(n,84,208)*not(mod(n,4))" -vsync 0 ./pkl/image_%05d.jpg
主体是一个select 的过滤语句:
其中:between(n,*) 是指 从第几帧到第几帧之间进行提取...
not(mode(n, K))是指每隔几帧输出一帧。