Convert MOV to MP4 Using FFmpeg: A Simple Guide

Illustration
Convert MOV to MP4 Using FFmpeg: A Complete Technical Guide
If you work with video files, you will often encounter the MOV format, especially when dealing with content recorded on Apple devices. While MOV is powerful and flexible, MP4 is the industry standard for distribution, streaming, and cross-platform compatibility. FFmpeg provides a fast, scriptable, and production-ready way to convert MOV files to MP4.
This guide explains how to convert MOV to MP4 using FFmpeg, how the command works internally, and how to handle single files as well as batch conversions in a professional environment.
Why Convert MOV to MP4?
Although MOV is a capable container format, it is not universally supported outside of Apple ecosystems. MP4, on the other hand, is supported by almost every operating system, browser, device, and streaming platform.
Key reasons to convert MOV to MP4 include better cross-platform compatibility, smaller file sizes with modern codecs, and improved performance when streaming or embedding videos on the web.
Installing FFmpeg on Linux
FFmpeg is available in the official repositories of most Linux distributions. On Ubuntu and Debian-based systems, installation is straightforward.
sudo apt update
sudo apt install ffmpeg
After installation, verify that FFmpeg is available on your system:
ffmpeg -version
Basic MOV to MP4 Conversion
The simplest way to convert a MOV file to MP4 while maintaining high compatibility is to re-encode the video using the H.264 codec and a standard audio codec.
ffmpeg -i input.mov -vcodec h264 -acodec mp2 output.mp4
Command Breakdown
The -i flag defines the input file. The -vcodec h264 option tells FFmpeg to encode the video stream using H.264, which provides excellent quality at reasonable bitrates. The -acodec mp2 option defines the audio codec, and output.mp4 specifies the target container format.
H.264 is widely supported by browsers, mobile devices, smart TVs, and streaming platforms, making it the safest choice for distribution.
Batch Conversion of Multiple MOV Files
When working with large collections of videos, manual conversion quickly becomes inefficient. FFmpeg can be combined with shell scripting to process entire directories.
for file in *.MOV; do
ffmpeg -i "$file" -vcodec h264 -acodec mp2 "${file%.MOV}.mp4"
done
This loop processes every MOV file in the current directory and outputs a corresponding MP4 file with the same base name. This approach is commonly used in server environments, CI pipelines, and media processing workflows.
Optimizing for Quality and File Size
For better control over quality and compression, FFmpeg allows fine-tuning via constant rate factor (CRF). Lower CRF values increase quality, while higher values reduce file size.
ffmpeg -i input.mov -c:v libx264 -crf 23 -preset medium -c:a aac output.mp4
This approach is recommended for production use, especially when preparing videos for websites, content platforms, or long-term storage.
Advantages of MP4 Over MOV
MP4 offers near-universal playback support, efficient compression, and excellent streaming behavior. Combined with H.264 encoding, it delivers a strong balance between quality and performance.
For online platforms such as YouTube, Vimeo, social media networks, and embedded web players, MP4 is typically the preferred and recommended format.
Potential Trade-Offs
Compared to MOV, MP4 usually relies on lossy compression. While quality loss is minimal with modern encoders, professional post-production workflows may still prefer MOV for editing and archiving.
A common workflow is to keep MOV files as masters and generate MP4 versions for distribution and playback.
Conclusion
FFmpeg provides a powerful and flexible solution for converting MOV to MP4. Whether you are processing a single video or automating large-scale media workflows, FFmpeg ensures high compatibility, efficient compression, and reliable performance across platforms.
By understanding the available codecs and parameters, you can tailor your conversions precisely to your technical and quality requirements.
Related Articles

ComfyUI on Fedora 43: Two Virtual Environments + One-Click Start (March 2026)
Goal: Keep two Python venvs (e.g., 3.12 + 3.14) for compatibility, but start ComfyUI automatically with a clean, lightweight setup.

New Qwen 3.5-Plus: Open-source AI is getting serious now
Discover the groundbreaking features and benefits of Alibaba's Qwen 3.5-Plus, a revolutionary open-source AI for developers.

How to Install PHP 8.3 on Ubuntu 22.04
Up-to-date guide on installing PHP 8.3 on Ubuntu 22.04, including Apache and Nginx (PHP-FPM) integration, extensions, and running multiple PHP versions side by side.