Large video file processing (~10GB)

Hello,
I'm looking to process large video files to run an object tracking algorithm.
I've been developing using the VideoReader object to run through the images of the movie, but it gets bogged down and will never complete with large files. I read that using the vision.VideoFileReader object ( http://www.mathworks.com/matlabcentral/newsreader/view_thread/287250) is a better option for this more streaming-type application, but it seems to really struggle with the size too.
Is there an easy way to process multi-GB video files in a reasonable amount of time or should I focus on down-sampling everything into more manageable chunks?
Thanks,
Jake

Respuestas (2)

Image Analyst
Image Analyst el 15 de Oct. de 2012

0 votos

Are you using imshow() to display images? If you don't use cla in between calls to it, then all the images get stored in the display buffer (the axes) and that can really slow things down a lot if you have dozens of images. Just one thing to check that might speed things up.

1 comentario

Jacob Bucci
Jacob Bucci el 17 de Oct. de 2012
I am not, although at one point I was and removing it didn't make a noticeable improvement.. To give you an idea, these videos usually come with ~2 million frames to sample from. The slowest I can sample is 1 frame per second which equates to every 30th frame - and even then it still gets bogged down big time.

Iniciar sesión para comentar.

Hb
Hb el 8 de Sept. de 2022
Editada: Hb el 8 de Sept. de 2022

0 votos

Hello, I have used the sample code that you have written, Video Processing Tutorial, and I too face the similar issue when trying to read avi video files that are about 12GB. Could you please recommend a solution? Thank you!

7 comentarios

Image Analyst
Image Analyst el 8 de Sept. de 2022
Call Mathworks tech support. They're the ones who wrote the VideoReader function.
Hb
Hb el 8 de Sept. de 2022
Thank you for the prompt response. There is no issue when using the VideoReader function, but it errors out at the read function. Per your Video Processing Tutorial, it can complete line:
(39) videoObject = VideoReader(movieFullFileName)
but it errors out at:
(81) thisFrame = read(videoObject, frame)
the error reads: unable to read the file
Image Analyst
Image Analyst el 8 de Sept. de 2022
What frame number were you on and how many frames were in the file?
Hb
Hb el 8 de Sept. de 2022
It errors at frame 1, the file has 18006 frames
Image Analyst
Image Analyst el 8 de Sept. de 2022
We can't really help you much unless you attach the video. Can you zip up a small one and attach it with the paperclip icon?
Hb
Hb el 8 de Sept. de 2022
Just to clarify, I have no issue in reading and writing avi files that around 2GB, but it errors out when trying to read files around 14GB. Also, I'm not able to attach a video, as there is a 5MB limit.
Image Analyst
Image Analyst el 9 de Sept. de 2022
Then I think you'll need to work with tech support as we can't help you anymore.

Iniciar sesión para comentar.

Categorías

Preguntada:

el 15 de Oct. de 2012

Comentada:

el 9 de Sept. de 2022

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by