Using writeVideo command & result...

176 views (last 30 days)
Julia
Julia on 17 Sep 2014
Answered: Geoff Hayes on 17 Sep 2014
I am using the writeVideo command and while it successfully makes the .avi file, when I play it outside of matlab it plays very fast. Is this a problem with my script or something else?
script here:
vidObj = VideoWriter('pr_lgm_r1_ccsm4.avi');
open(vidObj);
for i=1:12
X=squeeze(pr(:,:,i));
figure
contourf(lon,lat,X','LineStyle','none')
pause(1.0); %slow down frames
% Write each frame to the file.
currFrame = getframe(gcf);
writeVideo(vidObj,currFrame);
cla;
end
% Close the file.
close(vidObj);
Any advice appreciated

Accepted Answer

Geoff Hayes
Geoff Hayes on 17 Sep 2014
Julia - the default frame rate for the VideoWriter object is 30 frames per second (see VideoWriter class for details).
I noticed that you put a one second pause in your for loop. If you want only one frame to appear per second, then you just need to set this rate in vidObj
vidObj = VideoWriter('pr_lgm_r1_ccsm4.avi');
vidObj.FrameRate = 1;
open(vidObj);
Try the above and see what happens!

More Answers (0)

Community Treasure Hunt

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

Start Hunting!