Convert MPEG to 3G2 — Free Online Tool

Convert MPEG files (MPEG-1/MPEG-2 video with MP2 audio) to 3G2, the CDMA mobile container format, using H.264 video and AAC audio encoding. This conversion bridges legacy broadcast-era video with mobile-optimized delivery, dramatically reducing file size while maintaining watchable quality on 3GPP2-compatible devices.

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 typically contain MPEG-1 or MPEG-2 video streams paired with MP2 audio — codecs designed for broadcast and DVD use in the 1990s and early 2000s. Converting to 3G2 requires full re-encoding of both streams: the MPEG-2 video is decoded and re-encoded using H.264 (libx264) with CRF-based quality control, and the MP2 audio is transcoded to AAC, which is far more efficient at low bitrates and is the standard audio codec for the 3GPP2 container. The -movflags +faststart flag reorganizes the file's metadata to the beginning of the output, enabling progressive playback on mobile networks. There is no stream-copy shortcut here — every frame is decoded and re-compressed, which means processing time scales with video length and resolution.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg binary, the open-source multimedia processing engine that handles all decoding, re-encoding, and container muxing for this MPEG-to-3G2 conversion.
-i input.mpeg Specifies the input MPEG file. FFmpeg will automatically detect whether the file contains MPEG-1 or MPEG-2 video and MP2, MP3, or AAC audio streams and decode them accordingly.
-c:v libx264 Re-encodes the MPEG-1 or MPEG-2 video stream using the H.264 encoder (libx264), which is far more compression-efficient than MPEG-2 and is the standard video codec for the 3G2 mobile container.
-c:a aac Transcodes the MP2 audio from the MPEG source into AAC using FFmpeg's native AAC encoder. AAC is the required audio codec for 3GPP2 mobile delivery and achieves better audio quality than MP2 at the same or lower bitrate.
-crf 23 Sets the Constant Rate Factor for the H.264 encode to 23, the libx264 default. This is a quality-based encoding mode where lower values preserve more detail — appropriate for standard-definition MPEG sources being converted to mobile 3G2 delivery.
-b:a 128k Sets the AAC audio output bitrate to 128 kilobits per second, which provides clean stereo audio quality suitable for the mobile streaming use case of 3G2 and is well within the bandwidth constraints of CDMA networks.
-movflags +faststart Relocates the 3G2 file's metadata index (the moov atom) to the beginning of the output file, enabling progressive playback over mobile networks before the full download completes — essential for the CDMA streaming scenarios 3G2 was designed for.
output.3g2 Specifies the output filename with the .3g2 extension, which tells FFmpeg to mux the re-encoded H.264 video and AAC audio into the 3GPP2 mobile container format.

Common Use Cases

  • Repurposing archived MPEG broadcast recordings or news footage for playback on older CDMA smartphones that support 3G2 natively
  • Shrinking large MPEG-2 video files captured from DVD or satellite sources for transfer over low-bandwidth CDMA mobile networks
  • Converting MPEG training or instructional videos from legacy library archives into a mobile-deliverable format for field workers using older 3GPP2-compatible devices
  • Preparing MPEG home video transfers (from VHS or camcorder digitization) for sharing via MMS or early mobile video platforms that required 3G2 containers
  • Migrating a collection of MPEG-1 video clips from early CD-ROM multimedia projects into a format compatible with CDMA-era mobile media players
  • Reducing MPEG-2 broadcast segments for mobile preview distribution while retaining synchronization between the re-encoded H.264 video and AAC audio tracks

Frequently Asked Questions

Yes, typically quite significantly. MPEG-2 video is far less compression-efficient than H.264, so re-encoding with libx264 at the default CRF 23 usually yields files 50–75% smaller than the original MPEG at comparable visual quality. The switch from MP2 to AAC audio at 128k also contributes modest additional savings. The exact ratio depends on the content complexity and the original MPEG bitrate.
Yes, there is generational quality loss because the MPEG-2 video must be fully decoded and re-encoded to H.264 rather than stream-copied. The same applies to the MP2-to-AAC audio transcode. At the default CRF 23, the H.264 output is generally visually clean for standard-definition MPEG content, but fine detail and edges that were already compressed by MPEG-2 may soften further. For archival purposes, keep your original MPEG file.
3G2 is a container developed for CDMA mobile networks (used by carriers like Verizon and Sprint in the US) and is natively supported by many older QUALCOMM-based smartphones, Brew-platform devices, and early Android handsets. Modern media players like VLC and QuickTime also open 3G2 files without issues. However, 3G2 is a legacy mobile format — if your goal is broad modern compatibility, formats like MP4 would be more practical.
The -movflags +faststart flag moves the MP4/3G2 moov atom (which contains metadata and index information) to the start of the file. This is critical for mobile streaming because it allows playback to begin before the entire file has downloaded. You can technically remove it if you are only distributing files locally or via download, but for any network delivery scenario — especially over the CDMA networks 3G2 was designed for — it should be kept.
Change the -crf value to control H.264 quality. Lower CRF values mean higher quality and larger files — CRF 18 is visually near-lossless for most MPEG source content, while CRF 28 or 35 produces smaller files at the cost of visible compression artifacts. For low-bitrate mobile delivery as intended by 3G2, values between 28 and 35 are common. You can also adjust audio bitrate by changing -b:a 128k to a lower value like 64k or 96k to further reduce file size for constrained mobile connections.
Yes. On Linux or macOS, use 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}.3g2"; 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.3g2". This will re-encode each MPEG file in the directory to a separate 3G2 output with the same base filename.

Technical Notes

MPEG files can contain either MPEG-1 or MPEG-2 video streams — FFmpeg detects the stream type automatically, and libx264 can accept either as input for re-encoding. The default CRF 23 is calibrated for typical MPEG-2 standard-definition content (720x480 or 720x576); for lower-resolution MPEG-1 sources (typically 352x240 or 352x288), you may find CRF 23 over-encodes and a value of 28 provides sufficient quality at a fraction of the size. MPEG files commonly carry MP2 audio at 192k or 224k bitrate; the default output of AAC at 128k will sound comparable due to AAC's superior coding efficiency. The 3G2 container shares much of its structure with MP4 (both are derived from MPEG-4 Part 12), so the output is broadly compatible beyond strict 3GPP2 devices. Note that 3G2 does not support subtitles, chapters, or multiple audio tracks, so any such streams in the source MPEG will be silently dropped. MPEG files also rarely carry meaningful container-level metadata (title, artist, etc.), so metadata loss is generally not a concern for this format pair.

Related Tools