Using writeVideo command & result...

11 visualizzazioni (ultimi 30 giorni)
Julia
Julia il 17 Set 2014
Risposto: Geoff Hayes il 17 Set 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

Risposta accettata

Geoff Hayes
Geoff Hayes il 17 Set 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!

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by