MATLAB: Playing videos in Matlab

matlab vidreader

Hi Guys
I wantt help fpr following code instade of reading the frames of videos i want to read video as normal playing
load('Detector.mat');
vidReader = VideoReader('004.avi');
vidPlayer = vision.DeployableVideoPlayer;
i = 1;
results = struct('Boxes',[],'Scores',[]);
while(hasFrame(vidReader))
I = readFrame(vidReader);
step(vidPlayer,I);
i = i+1;

Best Answer

  • Hi, your code is almost correct only you have add some pause() between every frame otherwise you won’t be able to see all the frames. The pause time should be ideally 1/FrameRate to view the video in its original speed. Refer to the code below.
    vidReader = VideoReader('rhinos.avi'); % Read your video here

    vidPlayer = vision.DeployableVideoPlayer;
    while(hasFrame(vidReader))
    I = readFrame(vidReader);
    step(vidPlayer,I);
    pause((1/vidReader.FrameRate)); % pause of value (1/FrameRate)
    end
    Or else if you only want to play the video you can use the function implay().
    implay('rhinos.avi'); % Read your video here
    And hit the ‘Play’ button.
    Hope this helps!