Cannot using movie2avi in MATLAB

I am trying to use the movie2avi function in MATLAB. I simply copy the sample program in my MATLAB R2015a:
nFrames = 20;
% Preallocate movie structure.
mov(1:nFrames) = struct('cdata', [],...
'colormap', []);
% Create movie.
Z = peaks; surf(Z);
axis tight manual
set(gca,'nextplot','replacechildren');
for k = 1:nFrames
surf(sin(2*pi*k/20)*Z,Z)
mov(k) = getframe(gcf);
end
% Create AVI file.
movie2avi(mov, 'myPeaks.avi', 'compression', 'None');
But an error message appears:
Error using avi
Unexpected Error. Reason: Failed to open file.
Error in audiovideo.internal.aviwriter (line 168)
aviobj.FileHandle = avi('open',filename);
Error in movie2avi (line 63)
avimov = audiovideo.internal.aviwriter(filename,varargin{:});
Error in MakeMovie (line 36)
movie2avi(mov, 'myPeaks.avi', 'compression', 'None');
What's wrong here? Please help.

Antworten (1)

Dinesh Iyer
Dinesh Iyer am 16 Okt. 2015

0 Stimmen

Can you check if the location you are attempting to write the file to has write permissions?
movie2avi is being deprecated. I would recommend using VideoWriter as it allows you the use of more modern compression methods such as MPEG-4, MJ200), MJPEG AVI.
See VideoWriter documentation for examples.
Hope this helps.
Dinesh

5 Kommentare

Walter Roberson
Walter Roberson am 16 Okt. 2015
In particular check the directory that you are in when you try to execute the code. If you are on MS Windows Vista or later (I think it is) then if you are inside the directory that MATLAB was installed in, then you will not be able to write files there.
Kelvin
Kelvin am 17 Okt. 2015
I have check the path, my MATLAB is in C drive but I am attempting to write in D drive. About checking for permission, may I ask how to check it? I am just a new MATLAB user and don't know how to check for the directory and permission. Thank you.
Try the command
fileattrib .
where the period ('.') is part of the command. That should tell you about the permissions of the current directory.
Kelvin
Kelvin am 20 Okt. 2015
Bearbeitet: Walter Roberson am 20 Okt. 2015
I have typed this command and it shows:
Name: 'C:\Users\SupUsr\Desktop\Postdoctoral Research\DDFD\Practice'
archive: 0
system: 0
hidden: 0
directory: 1
UserRead: 1
UserWrite: 1
UserExecute: 1
GroupRead: NaN
GroupWrite: NaN
GroupExecute: NaN
OtherRead: NaN
OtherWrite: NaN
OtherExecute: NaN
It means that I can read and write in this directory. So what cause the error?
Walter Roberson
Walter Roberson am 20 Okt. 2015
I do not know for sure, but I suggest trying again in a directory that does not have a space in its name.

Melden Sie sich an, um zu kommentieren.

Kategorien

Tags

Gefragt:

am 16 Okt. 2015

Kommentiert:

am 20 Okt. 2015

Community Treasure Hunt

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

Start Hunting!

Translated by