How can i write multiple video files? with videoWriter?
    6 views (last 30 days)
  
       Show older comments
    
I want to write multiple video files and my conditions are here
   j=1
   if (t >= 125)
    writerObj1 = VideoWriter('voilation1.avi');
    open(writerObj1);
    writerObj2 = VideoWriter('violation2.avi');
    open(writerObj2);
   disp("<--------- Violation Detected----------> ")
    vidname=strcat('writerObj',num2str(j));
    writeVideo(vidname,img1);  
    end 
    if(t ==600)
     close(vidname); 
    j=j+1;
    end
0 Comments
Accepted Answer
  KSSV
      
      
 on 1 Jun 2018
        X = rand(100,1) ;
writerObj1 = VideoWriter('Video1.avi');
writerObj2 = VideoWriter('Video2.avi');
writerObj1.FrameRate = 10;
writerObj2.FrameRate = 10;
% open the video writer
open(writerObj1);
open(writerObj2);
h1 = figure(1) ;
hax1=axes ;
hold on
h2 = figure(2) ;
hax2=axes ;
hold on
for i = 1:length(X)
    if X(i)<0.5
        plot(hax1,i,X(i),'.r')
        f1 = getframe(h1);
        writeVideo(writerObj1, f1);
    else
        plot(hax2,i,X(i),'.b')
        f2 = getframe(h2);
        writeVideo(writerObj2, f2);
    end
    % close the writer object
end
close(writerObj1);
close(writerObj2);
4 Comments
  Walter Roberson
      
      
 on 1 Jun 2018
				You cannot. You need to call VideoWriter to create a new object for the new file. writeVideo does not accept a file name as a parameter, and there is no way to change the file name associated with a VideoWriter object after you have created the object.
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

