VideoReader performance on OSX is stellarly slow
2 次查看(过去 30 天)
显示 更早的评论
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 个评论
M. A. Hopcroft
2013-5-28
Same experience on Ubuntu with R2012a and avi files using the xvid codec. No solution as yet.
Julien
2014-1-7
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
回答(3 个)
Ben
2012-5-23
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 个评论
Justin Elstrott
2013-11-18
I have the same issue on a Mac running Matlab 2011b. VideoReader hangs after loading ~3000 frames of an XVID encoded .AVI file.
0 个评论
MF
2017-11-24
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 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Audio and Video Data 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!