ffmpeg to capture screenshot from a video file in a fine time unit
20,460
Try this instead:
ffmpeg -ss 00:00:01.01 -i /my_video_file_dir/video.flv -y -f image2 \
-vcodec mjpeg -vframes 1 /image_dir/screenshot.jpg
Note that very small increments will not normally result in different images, due to lower frame rates of most videos. 0.001s increments only work with videos of 1000fps framerates :) 0.03 increments should work with a 30fps video, etc.
Comments
-
hyperion almost 2 years
I use ffmpeg to capture screenshot from video. Here is the command code:
ffmpeg -i /my_video_file_dir/video.flv -y -f image2 -ss 8 -sameq -t 0.001 -s 320*240 /image_dir/screenshot.jpg
And I want to capture the screenshot at a fine time unit 8.344 for example
But it does not output screenshot image by the above command
In my test, -ss 1,1.5,2,2.5 ... works fine and others not such as 1.1,1.11
Does andbody know why it happens and how can I capture screenshot at a x.xxx time
-
hyperion over 13 yearsI get the corresponding relation between increments and framerates, thanks a lot!
-
Admin about 11 yearsTake a look to the following shot:
-
Admin about 11 yearsThis is a real solution: ffmpeg -i input.flv -ss 00:00:14.435 -f image2 -vframes 1 out.png
-
Hitesh over 9 yearscould you look at my question please stackoverflow.com/questions/27189948/…
-
Ahmed Fasih over 9 yearsI second @user352353's note, but per trac.ffmpeg.org/wiki/Seeking put the
-ss
flag before the-i
flag for much faster performance! If someone wants to make an account on FFMPEG's Trac and update this wiki page, please do: trac.ffmpeg.org/wiki/…