How to extract a frame every 10 s from the video ?

21 views (last 30 days)
I have a video which runs for 30 minutes at the rate of 60 fps. I need to extract the frame every 10 second. For example: 10s(600th frame),20s(1200th frame),30s(1800th frame) so on..... I looked through the internet I can get the info about how to read, write video and extract frame but did not get the info about exactly what I am looking for. Your help will be appreciated!

Accepted Answer

Stephan on 21 Apr 2021
Edited: Stephan on 21 Apr 2021
In your case the interval to take the first frame after 10 seconds would be:
v = VideoReader('YOUR_FILENAME.mp4');
frames = read(v,[600:600:end]);
The result is a 4D-Array which is the first 3 dimensions having the video frame and the 4th dimension is the time - here 10 seconds

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by