Convert MPEG to MP4 — Free Online Tool

Convert MPEG files (MPEG-1/MPEG-2 video with MP2 audio) to MP4 using H.264 video encoding and AAC audio — producing a modern, universally compatible file that plays natively in every browser, phone, and streaming platform. This conversion re-encodes the legacy MPEG stream into H.264, dramatically improving compatibility while keeping file sizes manageable.

FFmpeg Command

Copy this command to run the same conversion locally with FFmpeg on your desktop. Download FFmpeg

Free — no uploads, no signups. Your files never leave your browser.

Estimated output:

Conversion Complete!

Download

How It Works

MPEG files use MPEG-1 or MPEG-2 video codecs paired with MP2 audio — a combination designed for broadcast television and early optical media like VCD and DVD. Since MP4 containers do not natively support MPEG-2 video or MP2 audio streams, this conversion requires full re-encoding of both tracks. The MPEG-2 video is decoded and re-encoded to H.264 (libx264) using a CRF of 23, which targets a visually good quality level with efficient compression. The MP2 audio is similarly decoded and re-encoded to AAC at 128k bitrate, which is the standard audio codec for MP4 and offers better quality-per-bit than MP2. The -movflags +faststart flag reorganizes the MP4 metadata to the beginning of the file, enabling progressive playback in browsers and streaming apps before the full download completes.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg tool. In this browser-based tool, FFmpeg runs locally via WebAssembly (FFmpeg.wasm) — no file is sent to any server. The same command runs identically in a desktop FFmpeg installation for files over 1GB.
-i input.mpeg Specifies the input MPEG file, which may contain MPEG-1 or MPEG-2 video and MP2 audio streams. FFmpeg automatically detects the exact MPEG variant and demuxes the video and audio for re-encoding.
-c:v libx264 Re-encodes the MPEG-1 or MPEG-2 video stream to H.264 using the libx264 encoder. This is necessary because MP4 containers do not reliably support MPEG-2 video, and H.264 provides far better compatibility with modern devices, browsers, and platforms.
-c:a aac Re-encodes the MP2 audio track (the standard audio codec in MPEG files) to AAC, which is the native and required audio format for MP4. MP2 audio cannot be placed directly into an MP4 container, making this transcoding step mandatory.
-crf 23 Sets the Constant Rate Factor for H.264 encoding to 23, which is the libx264 default and represents a good balance between visual quality and file size for typical MPEG source material. Lower values (e.g., 18) produce higher quality larger files; higher values (e.g., 28) produce smaller files with more compression artifacts.
-b:a 128k Sets the AAC audio bitrate to 128 kbps. This is a step down from the 192k default bitrate of the MPEG source's MP2 audio, but AAC achieves equivalent or better perceived quality at 128k compared to MP2 at 192k due to its more efficient compression algorithm.
-movflags +faststart Moves the MP4 moov atom (metadata index) to the beginning of the output file. This is especially important for long-form MPEG content like TV recordings or movies, as it allows browsers and streaming platforms to begin playing the video before the entire file has been downloaded.
output.mp4 Specifies the output file as an MP4 container. FFmpeg infers from the .mp4 extension that the output should follow the MPEG-4 Part 14 container format, which will hold the newly encoded H.264 video and AAC audio streams.

Common Use Cases

  • Upload old VCD or SVCD rips saved as .mpeg files to YouTube, Vimeo, or social media platforms that require H.264/MP4 input
  • Make legacy broadcast MPEG-2 recordings from a DVD recorder or set-top box playable on modern smartphones and smart TVs
  • Convert MPEG files captured from older camcorders or video digitizers so they can be edited in modern NLEs like DaVinci Resolve or Premiere Pro without needing legacy codec packs
  • Prepare archival MPEG footage from the late 1990s or early 2000s for embedding on a website, since browsers no longer support native MPEG-1/MPEG-2 playback
  • Reduce the file size of high-bitrate MPEG-2 recordings (which often use 4–9 Mbps) by leveraging H.264's superior compression to produce smaller files at comparable visual quality
  • Convert MPEG recordings from DVD authoring projects into MP4 so they can be shared via messaging apps or cloud storage services that enforce file format restrictions

Frequently Asked Questions

Yes, some quality loss occurs because this conversion re-encodes both the video and audio — it is not a lossless remux. The original MPEG-2 video is already lossy, so re-encoding to H.264 at CRF 23 introduces a second generation of compression. In practice, at CRF 23 the visual difference is minimal for typical MPEG-2 content, and H.264 is often more efficient than MPEG-2 at the same perceptual quality level. If you need to minimize quality loss, you can lower the CRF value (e.g., CRF 18) in the FFmpeg command at the cost of a larger output file.
MP4 containers technically allow MPEG-2 video streams, but support is non-standard and almost universally rejected by players, browsers, and platforms. More critically, MP2 audio — the default audio codec in MPEG files — is not supported in MP4 containers at all by spec. This means the audio must always be re-encoded to AAC or another MP4-compatible codec, and re-encoding the video to H.264 ensures the output plays everywhere without compatibility issues.
This is expected. MPEG-2 video, especially from VCD (1150 kbps) or DVD-quality sources (up to 9800 kbps), uses a less efficient compression algorithm than H.264. H.264 can achieve comparable visual quality at roughly half the bitrate of MPEG-2. The conversion to AAC audio also tends to be more efficient than MP2 at the same or lower bitrate. So it is common to see 30–60% smaller output files without a perceptible drop in quality.
No. The MPEG format does not natively support chapters or subtitle tracks in the same way MP4 does, and the FFmpeg command used here does not attempt to extract or convert any such data. Standard broadcast MPEG and VCD/SVCD files typically store no chapter metadata at all. If your source is a DVD-format MPEG-2 VOB file with subtitle streams, those will be dropped during this conversion.
The -crf 23 flag controls video quality for H.264 encoding. CRF values range from 0 (lossless) to 51 (worst quality), with lower numbers producing better quality and larger files. For archival-quality output from MPEG source material, try -crf 18. For smaller files where quality is less critical, try -crf 28. You can also adjust audio quality by changing -b:a 128k to a higher value like -b:a 192k or -b:a 256k for better audio fidelity.
Yes. On Linux or macOS, you can run a shell loop: `for f in *.mpeg; do ffmpeg -i "$f" -c:v libx264 -c:a aac -crf 23 -b:a 128k -movflags +faststart "${f%.mpeg}.mp4"; done`. On Windows Command Prompt, use: `for %f in (*.mpeg) do ffmpeg -i "%f" -c:v libx264 -c:a aac -crf 23 -b:a 128k -movflags +faststart "%~nf.mp4"`. The browser-based tool processes one file at a time, so the command-line approach is recommended for batch jobs.

Technical Notes

MPEG files encompass a broad range of source quality depending on their origin: MPEG-1 VCD files typically carry 352×240 or 352×288 resolution at a fixed 1150 kbps video bitrate, while MPEG-2 sources range from low-bitrate SVCD to full DVD-quality streams at up to 9.8 Mbps. H.264's CRF-based encoding adapts to the source content, so the output bitrate will naturally be lower for simpler or lower-resolution MPEG-1 sources. One important limitation: MP2 audio in MPEG files is often encoded at 44.1 kHz (common in VCD) rather than 48 kHz (standard for video). FFmpeg will resample the audio to 48 kHz when encoding to AAC, which is correct behavior for MP4 but is worth noting if precise audio timing or sample-rate fidelity matters. The -movflags +faststart flag is particularly valuable here because MPEG-2 content is often long-form (TV recordings, movies), and fast-start allows video players and streaming services to begin playback before the full file is buffered. Metadata such as creation timestamps embedded in the MPEG container may not carry over into the MP4, as MPEG's metadata model differs significantly from MP4's.

Related Tools