VideoWriterオブジェクトの作成のドキュメントにありますように、MPEG-4はH.264エンコードを使用します。また、エンコードの設定ですが、 VideoWriterのドキュメントにあるように、MP4の場合、QualityとFrameRateを変更できます。
r_filename = 'test.avi';
reader = VideoReader(r_filename); % AVI読み込み
w_filename = 'test.mp4';
writer = VideoWriter(w_filename, 'MPEG-4'); % MP4書き出し
% MP4のVideoWriterのプロパティを適宜変更
% Video quality
writer.Quality = 25; % 0から100の数値を指定
% Rate of video playback
writer.FrameRate = reader.FrameRate; % または正数値を指定
% Open the file for writing
open(writer)
% Convert AVI frame to MP4
while hasFrame(reader)
img = readFrame(reader);
writeVideo(writer, img);
end
close(writer);
VideoWriterをopenする前にVideoWriterのプロパティを変更することにご注意ください。