MATLAB: How to write a MP4 video using vision toolbox

Computer Vision Toolboxmp4 ; computer vision toolbox ; 2014; video write

hello , I have been trying to use
vision.VideoFileWriter('output.mp4','FileFormat', '???' ); but the help cant really tell me the strings for format types.
tnx to Dima for the help so far.
i still have a problem ( still trying to output a MP4 to a file) i get a "On Windows, frame must be between 64 by 64 and 1920 by 1088 when writing MPEG4 files." error when my frame to write is 1920X1080
my code :
hVideoSrc_Color = vision.VideoFileReader('swipeCut.mp4'); hReffVideoOut = vision.VideoFileWriter('diff.mp4','FrameRate',hVideoSrc_Color.info.VideoFrameRate,'FileFormat','MPEG4'); counter=0; while ~isDone(hVideoSrc_Color) frame=step(hVideoSrc_Color); step(hReffVideoOut,frame); counter=counter+1; end
release(hVideoSrc_gray); release(hReffVideoOut);

Best Answer

Lirian,
I see the confusion. It is common to refer to image dimensions in terms of Width x Height. So a full HD video is said to have dimensions 1920x1080. But an array storing that frame has 1080 rows and 1920 columns.
However, the variable "frame" that you have contains 1920 rows and 1080 columns. If you look at the example code I posted earlier, the data array was 1080x1920.
I am surprised that step( vision.VideoFileReader('swipeCut.mp4') ) returns 1920x1080x3 frames. I tried reading HD video from an MP4 file at my end and it returned a 1080x1920x3 matrix.
Hope this helps. Try to transpose "frame" and write it. I agree that the error message issued is confusing.
Dinesh
Related Question