People suggesting Handbrake need to clarify that what Handbrake does is takes a video and transcodes it to a new video file. It's literally creating a brand new video which can take quite awhile (depending on the speed of the encoding machine and the length of the video).
A better way to do lots of videos is to use AVIdemux. What that does is leave the video and audio intact and just changes the container from MKV to MP4. Remember, most videos are actually h.264 or x.264 encoded and then placed within a container like MKV or MP4. So by just changing the container, it only takes seconds (under 2 minutes for an entire 2 hour movie) to convert MKV to MP4.
Of course, if the original video uses nonstandard settings (or aggressive settings), you'll have to re-encode to more standards-compliant settings which means for those videos, you might as well use Handbrake which will re-encode the video entirely. So the best way is to try out AVIdemux, test if the video works, and if not, then go to Handbrake.
I never go to Handbrake first unless I have a lot of time on my hands or only have a couple videos to convert. Also, if people are converting things with exotic content like multiple audio tracks, custom subtitles, etc., MP4 is far more inflexible than MKV so you'll have problems converting these.