VideoReader performance on OSX is stellarly slow
6 views (last 30 days)
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?
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?
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.
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:
Hardware acceleration can be reenabled by typing: