I wish to playback a large video (1080p at 30fps, ~100K frames) within Matlab, such that I can:
- play/pause the video
- jump to a given frame number
- obtain the current frame number
The purpose of doing this is for annotating each video frame with a (global) frame label in a streamlined way.
To achieve this I have tried:
VideoReader
: fast playback (~30fps), slow buffering (~5 fps, memory limitations)vision.VideoFileReader
: slow playback (<5fps), streaming (no/minimal buffering?)imread
/imshow
(iterating over image sequence): slow playback (<5fps), streaming
I am using Matlab R2014a 64-bit on OS X.
What alternative approach can I use to obtain fast playback (~30fps) without significant buffering overheads?
imread
/imshow
option your own code? I wonder if there could be performance issues in the implementation? – horchlerimread
, use an image format that is fast to decompress even if file sizes are larger, e.g., TIFF. – horchler