4

I wanted to try extracting frames at scene changes with ffmpeg, vs. getting the frame numbers with ffprobe and extracting them later.

But I had a surprise: ffprobe seems to be much slower than ffmpeg, while ffmpeg is taking the frames, resizing and saving them as well.

ffmpeg command line:

ffmpeg -hide_banner -y -i d:/test/m/long.mkv -vf "select=gt(scene\,0.4), showinfo, scale=320:-1, tile=12x200" -vsync 0 thumbnails%03d.png

this takes: 488 seconds

ffprobe command line:

ffprobe -show_frames -of compact=p=0 -f lavfi "movie=/test/m/long.mkv,select=gt(scene\,.4)"

this takes: 899 seconds

I am missing something?

Thomas
  • 10,933
  • 14
  • 65
  • 136
  • I believe that since ffprobe is just an info dump utility, it may be using a single thread to perform filtering operations, as opposed to ffmpeg. But this is just a guess. You could just use ffmpeg to dump the scene change info. See [here](http://stackoverflow.com/q/40688062/5726027). – Gyan Dec 13 '16 at 21:38

0 Answers0