Convert MPEG to 3GP — Free Online Tool

Convert MPEG video files to 3GP format, re-encoding legacy MPEG-1/2 video streams with H.264 (libx264) and compressing audio to AAC — producing compact, mobile-optimized files suited for 3G-era devices and low-bandwidth environments. This conversion significantly reduces file size from broadcast-quality MPEG while maintaining acceptable visual quality for small screens.

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 with MP2 audio — codecs designed for broadcast and DVD playback on high-bandwidth or physical media. Converting to 3GP requires a full re-encode of both streams: the video is transcoded from MPEG-1/2 to H.264 using libx264, which achieves far better compression efficiency at equivalent visual quality. The audio is transcoded from MP2 to AAC, which is the standard audio codec for 3GP and delivers better quality at the low bitrates (32k–128k) typical of mobile containers. A scale filter is also applied to ensure the output frame dimensions are divisible by 2, which is a strict requirement of the H.264 encoder — odd pixel dimensions from the MPEG source would otherwise cause encoding errors.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg tool — the open-source multimedia processing engine that powers this conversion both in the browser (via FFmpeg.wasm) and on the desktop command line.
-i input.mpeg Specifies the input file — an MPEG container typically holding MPEG-1 or MPEG-2 video and MP2 audio, common in broadcast captures, DVD rips, and legacy camcorder recordings.
-c:v libx264 Transcodes the video stream from MPEG-1/2 to H.264 using the libx264 encoder — the modern, efficient codec required by the 3GP container and supported by virtually all 3GPP-compliant mobile devices.
-c:a aac Transcodes the audio stream from MP2 (the MPEG default) to AAC, which is the standard audio codec for 3GP and achieves better sound quality than MP2 at the low bitrates typical of mobile video.
-crf 23 Sets the H.264 Constant Rate Factor to 23, the default quality level for this conversion — a perceptually good quality suitable for the small screen sizes 3GP targets, balancing file size and visual clarity. Lower values increase quality and file size.
-b:a 64k Sets the AAC audio bitrate to 64 kilobits per second, appropriate for the low-bandwidth, mobile-first design of 3GP. AAC at 64k delivers acceptable intelligibility for speech and general audio content; raise this to 96k or 128k for music-heavy MPEG sources.
-vf scale=trunc(iw/2)*2:trunc(ih/2)*2 Applies a video filter that rounds the frame width and height down to the nearest even number — a requirement of the H.264 encoder. MPEG sources with odd pixel dimensions (possible in certain capture devices or broadcast standards) would cause a fatal encoding error without this filter.
output.3gp Specifies the output filename and container format. The .3gp extension tells FFmpeg to mux the H.264 video and AAC audio into a 3GPP-compliant container optimized for mobile playback and low-bandwidth delivery.

Common Use Cases

  • Repurposing archived broadcast or DVD-ripped MPEG footage for playback on older 3G mobile phones that only support 3GP containers
  • Reducing the file size of large MPEG recordings (such as camcorder or satellite capture output) for sharing over slow mobile data connections or SMS/MMS where 3GP is the expected format
  • Converting MPEG training or educational videos into 3GP so they can be distributed to field workers in areas with limited bandwidth where streaming large files is impractical
  • Archiving legacy MPEG broadcast clips into a smaller 3GP format for storage on memory-constrained devices or older mobile hardware
  • Preparing MPEG video content for embedded playback in early mobile applications or Java ME (J2ME) environments that relied on 3GP as the primary video format
  • Extracting and converting short MPEG news segments or clips into 3GP for distribution via mobile portals that require the 3GPP container format

Frequently Asked Questions

Yes, some quality loss is expected because this is a lossy-to-lossy conversion — both MPEG and 3GP use lossy compression. However, H.264 (used in the 3GP output) is significantly more efficient than MPEG-2, meaning the output can look comparable or even sharper at a much lower bitrate. The default CRF value of 23 targets a reasonable visual quality for the small screen sizes 3GP is designed for. If the source MPEG is high-resolution broadcast footage, the perceived quality difference will be more noticeable on a large display.
The scale filter `scale=trunc(iw/2)*2:trunc(ih/2)*2` does not resize the video to a different resolution — it ensures the width and height are each divisible by 2. The H.264 encoder (libx264) requires even pixel dimensions, and MPEG sources can sometimes have odd-numbered frame sizes due to how they were captured or encoded. Without this filter, FFmpeg would throw an error and the conversion would fail. In practice, the change to dimensions is at most 1 pixel per axis, which is visually imperceptible.
3GP was designed specifically for 3G mobile networks, where bandwidth and storage on handsets were extremely limited. The default 64k AAC audio bitrate is a deliberate trade-off — AAC at 64k is generally more intelligible and cleaner sounding than the MP2 audio found in many MPEG files at that same bitrate, because AAC is a more modern and efficient codec. For voice-heavy content like news clips or instructional video, 64k AAC is typically sufficient. For music-heavy or high-fidelity content from your MPEG source, you can raise this to 96k or 128k in the FFmpeg command.
To change video quality, modify the `-crf` value: lower numbers (e.g., 18) produce higher quality and larger files, while higher numbers (e.g., 35) produce smaller files with more compression artifacts. To change the audio bitrate, replace `-b:a 64k` with a higher value like `-b:a 96k` or `-b:a 128k`. For example, a higher-quality version of this command would be: `ffmpeg -i input.mpeg -c:v libx264 -c:a aac -crf 18 -b:a 96k -vf scale=trunc(iw/2)*2:trunc(ih/2)*2 output.3gp`.
Yes. On Linux or macOS, you can use a shell loop: `for f in *.mpeg; do ffmpeg -i "$f" -c:v libx264 -c:a aac -crf 23 -b:a 64k -vf scale=trunc(iw/2)*2:trunc(ih/2)*2 "${f%.mpeg}.3gp"; done`. On Windows Command Prompt, use: `for %f in (*.mpeg) do ffmpeg -i "%f" -c:v libx264 -c:a aac -crf 23 -b:a 64k -vf scale=trunc(iw/2)*2:trunc(ih/2)*2 "%~nf.3gp"`. This is especially useful when converting large collections of archived MPEG broadcast files, which may exceed the 1GB browser limit.
3GP has limited metadata support compared to modern containers like MP4 or MKV, and MPEG files themselves carry minimal metadata. Basic metadata such as duration will be present in the output, but MPEG-specific broadcast metadata, timecode, closed captions, and any embedded chapter or subtitle information will not carry over — the 3GP format does not support subtitles or chapters. If preserving metadata is important, consider converting to MP4 instead, which supports richer metadata and is equally compatible with H.264 and AAC.

Technical Notes

MPEG files using MPEG-2 video (the default in most broadcast and DVD contexts) encode at relatively high bitrates — often 3–8 Mbps for standard definition and significantly more for higher resolutions. When transcoding to 3GP with H.264 at CRF 23, the output bitrate will typically fall between 300kbps and 1.5Mbps depending on the complexity of the source content, representing a substantial file size reduction. The 3GP container is technically a restricted profile of the MPEG-4 Part 12 container (which is the same base as MP4), so it shares structural similarities but enforces stricter codec profile requirements — libx264 must output a Baseline or Main profile to ensure compatibility with 3GPP-compliant devices. FFmpeg handles this automatically when targeting the .3gp extension. One known limitation: MPEG files with variable frame rates or unusual GOP structures can occasionally cause A/V sync issues in the 3GP output; if you encounter drift, adding `-vsync 1` to the command can help. The MP2 audio in the source MPEG is fully decoded before being re-encoded to AAC, so there is no generational concatenation of the two lossy formats — each stage starts from decoded PCM audio. Transparency, multiple audio tracks, and embedded subtitles are unsupported in both the MPEG source format and the 3GP output format, so no data of those types is lost in this specific conversion.

Related Tools