VideoReader performance on OSX is stellarly slow
2 views (last 30 days)
Show older comments
Anytime I need to use VideoReader, I get horrid performance out of read(). We're talking about .3-.4s per frame. This is for opening mp4 files, so I initially thought this had something to do with keyframes. However, if I use the read() function to get several hundred images at once, it's actually a teensy bit slower than if I use read to get each sequential image, so this isn't a solution.
Does anyone have any ideas? On Windows is it just as bad, or is this a Mac-only thing?
2 Comments
M. A. Hopcroft
on 28 May 2013
Same experience on Ubuntu with R2012a and avi files using the xvid codec. No solution as yet.
Julien
on 7 Jan 2014
Same problem on R2013b, it is a problem that has still not be solved. For a 2.3 Mb video, 383 frames takes 306 seconds, this is quite painfull
Answers (3)
Ben
on 23 May 2012
i'm having similar problems. for a 400 MB .mov/mpeg4 file on a fedora linux box, readerobj = VideoReader(filename) takes several minutes. so does info=mmfileinfo(filename). on the other hand, Quicktime will display the first frame and the frame size, rate, and duration almost immediately. it is as if matlab is reading the entire file, not just the header.
why is matlab so slow? are there any work arounds?
0 Comments
Justin Elstrott
on 18 Nov 2013
I have the same issue on a Mac running Matlab 2011b. VideoReader hangs after loading ~3000 frames of an XVID encoded .AVI file.
0 Comments
MF
on 24 Nov 2017
I have experienced the same problem and found the tip posted below that helped me solved the issue. Source: https://www.mathworks.com/help/vision/ref/vision.videofilereader-system-object.html)
Video Reading Performance on Windows Systems: To achieve better video reader performance on Windows for MP4 and MOV files, MATLAB uses the system's graphics hardware for decoding. However, in some cases using the graphics card for decoding can result in poorer performance depending on the specific graphics hardware on the system. If you notice slower video reader performance on your system, turn off the hardware acceleration by typing:
matlab.video.read.UseHardwareAcceleration('off')
Hardware acceleration can be reenabled by typing:
matlab.video.read.UseHardwareAcceleration('on')
0 Comments
See Also
Categories
Find more on Audio and Video Data in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!