Clear Filters
Clear Filters

Change frame rate of video file

319 views (last 30 days)
Katrina German
Katrina German on 10 May 2021
Answered: Aditya Desai on 28 May 2024 at 13:41
I have a video file but videoReader doesn't allow frame rate change. I think i have to rewrite each of the frames in a loop to change the rate but don't know how to do that. if anyone has any suggestions thanks in advance

Answers (2)

Stephan
Stephan on 10 May 2021
Edited: Stephan on 10 May 2021
You are fully right. First read all the frames using the read command for VideoReader. Then make a VideoWriter object and use the FrameRate property to set the frame rate you need and then write the video file using writeVideo. If you read the documentation and follow the examples given there it is quite easy to do this.

Aditya Desai
Aditya Desai on 28 May 2024 at 13:41
If you're asking for how to do it in code, here is an example:
v = VideoWriter('testMiniPlayer','MPEG-4');
v.FrameRate = 10;
open(v)
for i = 1:length(vid)
writeVideo(v,vid(i))
end
close(v)
Where vid is an array of the plots I want in my video. In mine, I used getframe(gcf) at each frame

Community Treasure Hunt

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

Start Hunting!