VideoWriter array exceeds maximum array size preference

I am trying to write a movie to an .avi using the VideoWriter and I get this error:
Error using VideoWriter/writeVideo (line 369)
Requested 685x868x3x9525 (15.8GB) array exceeds maximum array size preference. Creation of arrays greater than this limit
may take a long time and cause MATLAB to become unresponsive. See array size limit or preference panel for more information.
How can I circumvent this and write my video? I am calling writeVideo on a 1x9525 struct array M with
size(M.cdata)= 685 868 3
and M.cdata is of type uint8.

Answers (2)

This issue could be due to RAM limitations. The following might be helpful:
1. Go to MATLAB > Preferences > Workspace and ensure the Maximum array size limit is set to 100%.
2. Also, check that the Java Heap Memory is not set to a very large value because that might restrict the amount of memory available to perform computations.

4 Comments

So, it is possible my computer is simply not powerful enough for this? My Maximum array size says 1000 and doesn't appear to be a percentage.
The 'Maximum array size limit' tab can be seen once you scroll down to the bottom of the same dialog box. Since you are trying to read about 16 GB of data (as mentioned in the error message above), it is very likely to be a memory limitation of your current system.
My settings are already at 100% but i still get the same error, is there any other way to work around this problem? Also where do i check for the java heap memory and what is the right value to have there?
Thanks
Shravan
waiting for a reply, I have similar issue. Did You solved it Shravan

Sign in to comment.

VideoWriter can write incrementally. Loop passing it part of the structure array each time
B = 100; %buffer size
nf = numel(M) ;
for K = 1:B:nf-B+1
writeVideo(obj, M(K:K+B+1));
end
K=K+B;
if K<nf
writeVideo(obj, M(K:end));
end
The larger you can make B the more efficient writing can be, but too large may get out of memory.

Asked:

on 4 Aug 2017

Answered:

on 19 Jul 2021

Community Treasure Hunt

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

Start Hunting!