Determine if video frame is available to read
tf = hasFrame(v)
example
tf = hasFrame(v) returns logical 1 (true) if there is a video frame available to read from the file. Otherwise, it returns logical 0 (false).
tf
v
1
true
0
false
collapse all
Create a VideoReader object for the example movie file xylophone.mp4.
VideoReader
xylophone.mp4
v = VideoReader('xylophone.mp4');
Read all the frames from the video, one frame at a time.
while hasFrame(v) frame = readFrame(v); end
Display information about the last frame returned by readFrame.
readFrame
whos frame
Name Size Bytes Class Attributes frame 240x320x3 230400 uint8
Read and play back the sample movie file, xylophone.mp4.
Create a VideoReader object to read data from the sample file. Then, determine the width and height of the video.
xyloObj = VideoReader('xylophone.mp4'); vidWidth = xyloObj.Width; vidHeight = xyloObj.Height;
Create a movie structure array, mov.
mov
mov = struct('cdata',zeros(vidHeight,vidWidth,3,'uint8'),... 'colormap',[]);
Read one frame at a time until the end of the video is reached.
k = 1; while hasFrame(xyloObj) mov(k).cdata = readFrame(xyloObj); k = k+1; end
Size a figure based on the width and height of the video. Then, play back the movie once at the video frame rate.
hf = figure; set(hf,'position',[150 150 vidWidth vidHeight]); movie(hf,mov,1,xyloObj.FrameRate);
Input VideoReader object. Use the VideoReader function to create a VideoReader object from your video file.
movie | readFrame | VideoReader
movie
You have a modified version of this example. Do you want to open this example with your edits?