Matlab: fast playback of large videos

I want to play a large video (1080p @ 30fps, 100K frames) in Matlab so that I can:

  • play / pause video
  • go to the specified frame number
  • get the current frame number

The purpose of this is to annotate each video frame with a (global) frame label in a streamlined manner.

To achieve this, I've tried:

  • VideoReader

    : fast playback (~ 30fps), slow buffering (~ 5fps, memory limits)
  • vision.VideoFileReader

    : slow playback (<5fps), streaming (no / minimal buffering?)
  • imread

    / imshow

    (repeat sequence of images)
    : slow playback (<5fps), streaming

I am using Matlab R2014a 64 bit on OS X.

What alternative approach can be used for fast playback (~ 30fps) without significant buffering overhead?

+3


source to share


1 answer


Video reading speed depends on the video format. You can speed up vision.VideoFileReader

if you are using Motion JPEG video.



Reproduction is another issue. What are you using for this? Have you tried vision.VideoPlayer

? There is also vision.DeployableVideoPlayer

one which might be faster, but it only works on Windows.

0


source







All Articles