time of source and copied movie
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Majid Al-Sirafi
am 9 Nov. 2015
Kommentiert: Walter Roberson
am 11 Nov. 2015
Hi everyone
I had written a program with Mat lab. This program makes copy for movie from source movie. When I play two movies, the time of the source movie file is less than the copied file. So, how to make the time of source movie same as the copied movie
please see the following code
clear all;
close all;
%%%%%%%%%%%%%%%%%%%%%%%
[filename pathname] = uigetfile('*.avi','File Selector');
vid = strcat(pathname, filename);
obj = mmreader(vid);
vid = read(obj);
frames = obj.NumberOfFrames;
new10=avifile('copied_movie.avi','compression','None');
for x = 1 : frames
blocks{x}=vid(:,:,:,x);
end
for f=1:frames
new10=addframe(new10,blocks{f}); % the result is red movie
end
new10=close(new10);
msgbox('end of operation','Message','warn');
Regards,
Majid
2 Kommentare
Chad Greene
am 9 Nov. 2015
I assume your application is more complex than simply copying the file, but if you're only trying to copy the file you can use copyfile.
Akzeptierte Antwort
Walter Roberson
am 10 Nov. 2015
The obsolete routine avifile() uses a default 'FPS' (frames per second) of 15. If your original movie has a different rate then the time of the resulting movie will be different.
You should be switching to VideoWriter from avifile(), but still you need to remember to set the frame rate.
3 Kommentare
Walter Roberson
am 11 Nov. 2015
aviinfo can return Frames Per Second (but only as an integer). Like avifile() it is recommended that you switch over to newer routines.
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Audio and Video Data finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!