任务:需要把一个视频文件的每一帧提取出来,每帧存储成单独的文件。
以前用Matlab处理过这个问题,可是感觉比较慢,而且最近正在逐步转向使用开源的东西。因此搜到ffmpeg这个好东西。
ffmpeg可用来处理视频文件的提取和各种转换,跨平台,官网上有LINUX,WINDOWS和MAC版本。
以下是windows 命令行下使用ffmpeg提取视频帧的方法:
SET PATH=%PATH%;[path_to_ffmpeg]
SET VIDEOFILE=demo.mp4
SET DESTDIR=video_frame\
ffmpeg -i %VIDEOFILE% -q:v 2 -f image2 %DESTDIR%%07d.jpeg
其中-i 后面是输入文件,-q:v 2 q代表质量quality, v代表视频流,2是控制质量的参数。-f指定输出的格式是image2. %07d是图片命名的pattern