How to use FFmpeg

31,457

Solution 1

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.

Solution 2

If you know C++, you can modify sample from article using ffmpeg.

Solution 3

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

Share:
31,457

Related videos on Youtube

Moayyad Yaghi
Author by

Moayyad Yaghi

Updated on September 20, 2021

Comments

  • Moayyad Yaghi
    Moayyad Yaghi almost 3 years

    I'm trying 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 .

    • Moayyad Yaghi
      Moayyad Yaghi over 14 years
      sorry Goose .. im just new to this website .
  • Mohammed Noureldin
    Mohammed Noureldin over 5 years
    The content of the list is very good. However, if the link dies, your answer will not have any more sense. I would get the summary of the link and post it in the answer, that would be pretty helpful.
  • Krupip
    Krupip over 2 years
    Content should be put into post, and Russian content is not available in all countries.