MY WEBCAM TEST GUIDE

How to Convert MOV to MP4

Convert MOV to MP4 locally with FFmpeg, VLC or HandBrake. Learn when a fast remux is enough, when to re-encode, and how to check the result.

MOV files come from iPhones, many cameras, screen recorders and editing software. MP4 is often the safer choice for sharing, uploading or playing on a wide range of devices. Both are container formats, so converting MOV into MP4 sometimes only means moving the existing video and audio into a new container. Other times the streams must be re-encoded. This guide shows how to tell the difference and how to do either safely.

Before you start

Decide whether the conversion will run on your own computer or through an online service. Desktop tools such as FFmpeg, VLC and HandBrake process the file locally. An online converter uploads your video to someone else's server. Before you use one, check its own statements on retention, deletion and access, especially for recordings of people, meetings or private spaces. Do not assume a file is deleted just because a site says so; verify the policy that applies to you.

  • Keep the original MOV file and write the MP4 to a new file name, so the process is reversible.
  • Make sure you have enough free disk space; a re-encoded file can be larger or smaller than the original.
  • Find out which video and audio codecs the MOV contains, because this decides whether a quick remux is possible.
  • Know where the MP4 will be used, such as a specific phone, TV, editor or upload form, so you can match its requirements.

To see the codecs, you can run ffprobe, which is installed together with FFmpeg: ffprobe input.mov. Look for lines that describe the video stream (for example h264, hevc or prores) and the audio stream (for example aac or pcm_s16le). Media players such as VLC also show codec information for the file that is currently open.

Step-by-step instructions

Option 1: Remux without re-encoding (fastest, no quality loss)

If the MOV already contains H.264 or HEVC video with AAC audio, you can usually copy the streams straight into an MP4 container. Nothing is re-compressed, so quality stays identical and the process is quick.

  • Install FFmpeg for your operating system.
  • Open a terminal in the folder that contains your file.
  • Run: ffmpeg -i input.mov -c copy -movflags +faststart output.mp4
  • Wait for the command to finish, then open output.mp4 in a player.

The -c copy option copies the streams as they are. The -movflags +faststart option moves index data to the start of the file, which helps playback begin sooner when the file is streamed or viewed in a browser. If the MOV holds HEVC video and the MP4 will be played on Apple devices, adding -tag:v hvc1 before the output name can improve compatibility.

Option 2: Re-encode with FFmpeg (widest compatibility)

Re-encoding is needed when the MOV uses a codec that MP4 does not handle well, such as ProRes video or uncompressed PCM audio, or when the target device cannot play HEVC. A common, broadly compatible combination is H.264 video with AAC audio:

ffmpeg -i input.mov -c:v libx264 -crf 23 -preset medium -c:a aac -b:a 192k -movflags +faststart output.mp4

  • -crf controls quality: a lower number means higher quality and a larger file. Values around 18 to 23 are a common starting range.
  • -preset trades speed for compression: slower presets produce smaller files at the same quality but take longer.
  • -c:a aac with -b:a 192k converts the audio to AAC at 192 kbps.
  • If the audio is already AAC, you can use -c:a copy instead to keep it unchanged.

Re-encoding is lossy. Each new encode discards some information, so always work from the original MOV rather than from a previous conversion.

Option 3: Use a graphical tool

If you prefer not to use the command line, HandBrake and VLC can both save video as MP4. In HandBrake, open the MOV, choose a preset, make sure the output format is set to MP4, set a destination file name and start the encode. HandBrake always re-encodes, so expect it to take longer than a remux. VLC includes a convert or save function that can write MP4 using a built-in profile. Menu names and layout differ between versions and operating systems, so check the documentation for the version you have installed.

Check the output

  • Play the MP4 from start to finish, or at least jump to the beginning, middle and end, and listen for missing or out-of-sync audio.
  • Compare the duration of the MP4 with the original MOV; they should match closely.
  • Run ffprobe output.mp4 to confirm the expected video and audio codecs, resolution and frame rate.
  • Test the file on the device, app or upload form where you actually plan to use it.
  • If you re-encoded, compare a few frames side by side with the original to judge whether the quality setting is acceptable.

Be aware of format limitations. Some MOV-specific data, such as timecode tracks, chapter markers, certain metadata or extra audio tracks, may not carry over to MP4 or may be handled differently by players. HDR or high bit depth footage needs encoder settings that preserve it; a basic H.264 encode is typically 8-bit and may change how the image looks. If these details matter for your workflow, inspect them with ffprobe before deleting anything.

Common problems and next steps

Renaming the file extension did not work

Changing .mov to .mp4 in the file name does not change the container. Some players may still open it, but others will reject it or behave unpredictably. Use a remux or a re-encode instead.

FFmpeg reports that a codec is not supported in the container

An error such as could not find tag for codec usually means a stream cannot be copied into MP4 as it is. Re-encode only the problem stream. For example, if the video is H.264 but the audio is PCM, keep the video and convert the audio: ffmpeg -i input.mov -c:v copy -c:a aac -b:a 192k output.mp4. If the video is ProRes, re-encode the video with libx264 or another MP4-compatible encoder.

The MP4 plays without picture or will not open on some devices

This often happens with HEVC video on hardware or software that lacks HEVC support. Re-encode to H.264 using the command in Option 2. If the file is for Apple devices and you want to keep HEVC, try the remux with -tag:v hvc1.

Audio drifts out of sync in an editor

Phone and screen recordings are often variable frame rate. Some editors handle this poorly after conversion. Re-encoding to a constant frame rate can help, for example by adding -r 30 (or the frame rate that matches your source) to the re-encode command.

The file is much larger or smaller than expected

File size after re-encoding depends on the codec, quality value and preset. Raise the -crf value for a smaller file or lower it for better quality. A remux with -c copy keeps the size close to the original because the streams are unchanged.