I'm tr开发者_高级运维ying to extract frames from a video and I've picked ffmpeg ( tell me if you know something better ) for this task.
I've downloaded its source and don't know how to use it ?? how can I compile it?
What is the recommended language for it ? I know Python and C++. Please note that my operating system is Windows Vista 64 bit .
If you know C++, you can modify sample from article using ffmpeg.
If you just want to extract the frames from a video and save them to file, you can just use ffmpeg at the command line:
ffmpeg -i video.avi image%d.jpg
For this method, you do not need to build ffmpeg as there should be a windows binary available for download.
If you are wanting to display the frames or perform some other processing on them, you may want to use libavformat and libavcodec (main parts of the ffmpeg project) to extract the video frames in code. Here is a pretty good tutorial on how to get frames from a video using libavcodec and libavformat. libavformat and libavcodec are C libraries so I would use C or C++ if you want to interface directly to them. There is this python wrapper for ffmpeg that looks promising, but I haven't tried it.
You can download the compiled ffmpeg libraries as well so you shouldn't have to build them yourself. ffmpeg will not build on MSVC++ as per the documentation so you would have to set up a mingw environment.
If you only want use ffmpeg you should just get a build and not the source itself.
To extract a frame from a video use the following command line:
ffmpeg -i input.avi -r 1 -f image2 -s 120x96 images%05d.png
Where input.avi is your video, 120x96 the dimension of the output image. There are a lot of options you can use to specify the exact frame in the movie, but that would definetely be too much to show here. Take a look at this page to get a more detailed description.
Best wishes,
Fabian
精彩评论