Write video in wide screen format
Afficher commentaires plus anciens
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 commentaires
Guillaume
le 20 Mar 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
le 20 Mar 2019
Guillaume
le 20 Mar 2019
And in 'VideoOut.mp4' it's no longer 720x576?
Seven Eden
le 20 Mar 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
le 20 Mar 2019
Réponse acceptée
Plus de réponses (1)
Seven Eden
le 23 Mar 2019
Catégories
En savoir plus sur Video Formats and Interfaces dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!