missing frames in mp4

1 visualización (últimos 30 días)
Stefan Monstein
Stefan Monstein el 31 de Oct. de 2018
The attached movie-file has about 38 frames. I can see them with VLC and with MPC-HC. Frames are 20ms appart as seen in the timestamps at the bottom of each image. Matlab however, only shows half of these frames every 40ms. How can I get all frames?

Respuestas (1)

YT
YT el 31 de Oct. de 2018
From the documentation on VideoReader
v = VideoReader('stefan.mp4');
currAxes = axes;
while hasFrame(v)
vidFrame = readFrame(v);
image(vidFrame, 'Parent', currAxes);
currAxes.Visible = 'off';
pause(1/v.FrameRate);
end
More info on VideoReader can be found here
  7 comentarios
Hugo Lehoux
Hugo Lehoux el 12 de Mzo. de 2021
I have done some research, it appears one codec that is problematic is the Motion JPEG (MJPG or MJPEG). I have not tested all of them of course, and it seems I cannot get information on the file you provided on Matlab for some reason, so I don't know if it is encoded in MJPEG, but if that is the case, then that could explain why Matlab only reads half the frames. I have checked again and VLC does correctly read the interlaced frames on this file.
Constantino Carlos Reyes-Aldasoro
Constantino Carlos Reyes-Aldasoro el 9 de Feb. de 2023
I had a similar problem, I changed from mp4 to AVI and now I can see all my frames. The size of the video tripled, but I have all the frames.

Iniciar sesión para comentar.

Productos


Versión

R2015b

Community Treasure Hunt

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

Start Hunting!

Translated by