Unable to determine the codec required.
55 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I am using 2013a version of matlab and windows xp.When i run the code of videoreader i get this error.So what type of codec needs to be installed.
obj.reader = vision.VideoFileReader('atrium.avi');
obj.videoPlayer = vision.VideoPlayer();
obj.maskPlayer = vision.VideoPlayer();
obj.detector = vision.ForegroundDetector('NumGaussians', 3, 'NumTrainingFrames', 40, 'MinimumBackgroundRatio', 0.7);
obj.blobAnalyser = vision.BlobAnalysis('BoundingBoxOutputPort', true,'AreaOutputPort', true, 'CentroidOutputPort', true,'MinimumBlobArea', 400);
0 commentaires
Réponses (2)
Walter Roberson
le 23 Mai 2015
Modifié(e) : Walter Roberson
le 23 Mai 2015
info = mmfileinfo('atrium.avi');
and examine
info.video.Format
Also, try
aviinfo('atrium.avi')
and if the command is found in your version of MATLAB (it was scheduled to be removed) then look at the VideoCompression field of the output of it.
Let us know what the results are.
See also https://www.raymond.cc/blog/determine-audio-video-codec-required-to-play-downloaded-movies/ and find a tool for your computer that will tell you which codec was used.
Note: if the codec shows up as Indeo5 then it is not readable with any 64 bit version of MATLAB (which is due to decisions made by the manufacturers of the Indeo5 codec)
3 commentaires
Walter Roberson
le 23 Mai 2015
Were you able to use aviinfo()? Were you able to find a program for your system such as one of the ones suggested by the blog link I included?
Image Analyst
le 23 Mai 2015
Can you even play this file with Window Media Player? If you can't even do that, then it's not really a MATLAB question yet.
Mrutyunjaya Hiremath
le 23 Avr 2020
Modifié(e) : Mrutyunjaya Hiremath
le 24 Avr 2020
Hello,
To solve the problem, I installed 'Media Player Codec Pack' and use the following code.
vidObj = VideoReader('VideoFile.mp4');
read(vidObj);
get(vidObj)
currFrame = read(vidObj, 10);
vidFrames = read(vidObj,[100 Inf]);
vidFrames = read(vidObj,[18 27]);
The above problem solved in 2014b with 'readFrame' and 'hasFrame' functions.
currAxes = axes;
while hasFrame(vidObj)
vidFrame = readFrame(vidObj);
image(vidFrame, 'Parent', currAxes);
currAxes.Visible = 'off';
pause(1/vidObj.FrameRate);
end
Thank you.
3 commentaires
cui,xingxing
le 29 Jan 2023
Modifié(e) : cui,xingxing
le 29 Jan 2023
@Walter Roberson this comment can't work for me ,can you provide some suggestions? thanks in advance.
Voir également
Catégories
En savoir plus sur Audio and Video Data dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!