Problems obtaining the correct number of frames in video file
Show older comments
I am having trouble using VideoReader to determine the correct number of frames in a video file,
videoObj = VideoReader('2_1107.mpg') ;
Warning: Unable to determine the number of frames in this file.
This workaround fails,
lastFrame = read(videoObj, inf)
Error using VideoReader/read (line 86)
The frame index requested is beyond the end of the file.
The following code returns a different number of frames each time it's run, e.g. 164, 263, 257.
videoObj = VideoReader('2_1107.mpg');
nFrame = 0 ;
isGood = true ;
while isGood
nFrame = nFrame + 1 ;
try
thisFrame = read(videoObj, nFrame) ;
catch
isGood = false ;
nFrame = nFrame - 1 ; % Don't include in the count if fails
end
end
If VideoReader skipping or repeating frames on each pass through the file, how can I get the correct number of frames? More info: problem is present for both R2012a and R2012b run on Windows 7 (32-bit versions), video format is MPEG-2, size of the video is 65706 KB, and it's a variable frame rate file.
Accepted Answer
More Answers (0)
Categories
Find more on Video Formats and Interfaces in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!