Write video in wide screen format
Mostrar comentarios más antiguos
I'm creating a video using MATLAB's video writer function but the video always shows in a different visual format. I'm creating the video from frames of another (videoIn.mp4) with resolution of 720 x 576.
When I reproduce videoIn.mp4 in a video reproducer, it shows correctly. But when I reproduce the one generated by MATLAB, it shows "compressed" on the sides (not wide enough).
Does anyone know how to fix it?
This is my code:
myVideo = VideoWriter('videoOut.mp4','MPEG-4');
myVideo.FrameRate = 25;
myVideo.Quality = 100;
open(myVideo);
videoObject = VideoReader('videoIn.mp4');
framesToCopy = 1:50;
for nFrame = 1:length(framesToCopy)
mov(nFrame).cdata = readFrame(videoObject);
writeVideo(myVideo,mov(nFrame).cdata);
end
close(myVideo);
This is a screenshot of both videos open with VLC

6 comentarios
Guillaume
el 20 de Mzo. de 2019
What is
size(mov(1).cdata)
?
Note that in the code above, you're reading a frame into mov(nframe) but writing mov(count) (with count not changing and undefined in the snippet).
Seven Eden
el 20 de Mzo. de 2019
Guillaume
el 20 de Mzo. de 2019
And in 'VideoOut.mp4' it's no longer 720x576?
Seven Eden
el 20 de Mzo. de 2019
It looks to me that VideoOut has got the correct aspect ratio for a 720x576 image. On the other hand, VideoIn looks like it is around twice as wide as tall, so does not match a 720x576 aspect ratio.
Seven Eden
el 20 de Mzo. de 2019
Respuesta aceptada
Más respuestas (1)
Seven Eden
el 23 de Mzo. de 2019
Categorías
Más información sobre Video Formats and Interfaces en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!