Depending on how your original file was encoded, it may not be possible to keep the file size.
This command should keep frame sizes and rates intact while making an mp4 file:
ffmpeg -i infile.avi youroutput.mp4
And this command will give you information about your input file – the frame size, codecs used, bitrate, etc.:
ffmpeg -i infile.avi
You can also play with the
vcodec options when you generate your output. Remember also that mp4 and avi files can use various codecs and your mileage may vary according to which codec you pick.
if you run the following command:
ffmpeg -i input.avi -y output.mp4
In such case ffmpeg re-encodes elementary streams within input.avi (cahnge containers and re-encode is the default mode of ffmpeg). It’s worth noticing that re-encoding might deteriorate visual and/or hearing quality.
Therefore, it’s recommended to disable re-encoding by “c:v copy c:a copy” codec options:
ffmpeg -i input.avi -c:v copy -c:a copy -y output.mp4