VideoWriter array exceeds maximum array size preference
조회 수: 5 (최근 30일)
이전 댓글 표시
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.
댓글 수: 0
답변 (2개)
Amita Amte
2017년 8월 8일
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
Shravan Darbhetadka
2020년 4월 20일
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
Subhash Chandra Ranga
2021년 7월 19일
편집: Subhash Chandra Ranga
2021년 7월 19일
waiting for a reply, I have similar issue. Did You solved it Shravan
Walter Roberson
2021년 7월 19일
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.
댓글 수: 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!