Convert 3G2 to FLV — Free Online Tool

Convert 3G2 files — the CDMA-era mobile video format — into FLV (Flash Video), re-encoding the video stream with H.264 (libx264) and audio with AAC. This is useful for bringing legacy mobile clips into Flash-based video workflows or archiving 3G2 content in a widely-supported web streaming format.

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

3G2 is a container built for 3GPP2/CDMA mobile networks, typically carrying H.264 video and AAC audio in a low-bitrate, mobile-optimized package. FLV is Adobe's Flash Video container, also commonly paired with H.264 and AAC for web delivery. Because both formats can carry the same codecs, the audio stream (AAC) can often be passed through without quality loss — but FFmpeg re-encodes both streams here to ensure compatibility with the FLV container's constraints and to normalize bitrate settings. The video is re-encoded using libx264 at CRF 23 (a visually lossless-feeling quality level for most content), and audio is encoded at 128k AAC. Notably, the 3G2-specific '-movflags +faststart' flag (used for progressive web streaming in the source format) is dropped, as FLV handles its own streaming index structure differently.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg binary — the open-source multimedia processing engine that powers this conversion. In this browser-based tool, it runs as FFmpeg.wasm compiled to WebAssembly, executing entirely client-side without any server upload.
-i input.3g2 Specifies the input file in 3G2 format — the CDMA mobile container developed for 3GPP2. FFmpeg reads the container structure and demuxes the video and audio streams for re-encoding.
-c:v libx264 Sets the video encoder to libx264, encoding the output video stream as H.264. Both 3G2 and FLV commonly use H.264, but re-encoding is performed here to ensure the stream conforms to FLV's expected structure and bitrate normalization.
-c:a aac Sets the audio encoder to AAC (Advanced Audio Coding), which is natively supported by both 3G2 and FLV. This re-encodes the audio to ensure consistent bitrate and compatibility with Flash Video players.
-crf 23 Sets the H.264 Constant Rate Factor to 23, which is the libx264 default and represents a good balance between visual quality and file size. For most 3G2 source material — already compressed at low mobile bitrates — this setting will preserve all meaningful visual detail in the FLV output.
-b:a 128k Sets the AAC audio bitrate to 128 kilobits per second. This is a standard stereo audio quality level well-suited for FLV web playback, and is typically higher than the audio bitrate used in the original 3G2 file, which was optimized for constrained CDMA bandwidth.
output.flv Specifies the output filename and container format. The '.flv' extension tells FFmpeg to mux the re-encoded H.264 video and AAC audio into an FLV (Flash Video) container, the format historically used for web video delivery via Adobe Flash Player.

Common Use Cases

  • Ingesting old footage captured on CDMA phones (e.g., early Verizon or Sprint devices) into a Flash-based video platform or CMS that requires FLV input.
  • Archiving 3G2 clips from early 2000s and 2010s mobile devices into FLV for use with legacy Flash-based media players still embedded in older web applications.
  • Preparing mobile-shot 3G2 video for upload to older video hosting platforms or intranets that were built around Flash Video playback infrastructure.
  • Re-encoding low-bitrate 3G2 clips from CDMA network transmissions into FLV to integrate with Flash-based video editing or stitching tools.
  • Converting a batch of 3G2 news or field clips recorded on CDMA devices into FLV for use in a legacy broadcast or streaming workflow that predates MP4 adoption.

Frequently Asked Questions

Yes, some quality loss is expected because this conversion re-encodes both the video and audio streams rather than copying them directly. The video is re-encoded with H.264 at CRF 23, which is a high-quality setting that minimizes visible degradation. However, since 3G2 files are themselves already lossy and often encoded at very low bitrates for mobile network transmission, the perceptual quality difference in the output FLV is usually negligible for archival or display purposes.
3G2 was designed for CDMA mobile networks like those used by Verizon and Sprint, where bandwidth was extremely limited. Videos were typically encoded at resolutions like 176x144 (QCIF) or 320x240 at very low bitrates — sometimes under 100 kbps total. The FLV output will faithfully preserve whatever resolution and frame rate exists in the source 3G2 file; FFmpeg does not upscale or artificially enhance the source content.
Yes, both formats support H.264 video and AAC audio, which is why this conversion is straightforward. The FLV container also supports the older Sorenson Spark (FLV1) and On2 VP6 video codecs, but this tool uses H.264 (libx264) for maximum compatibility. The key difference is that FLV is oriented toward web streaming via Flash Player, while 3G2 was designed for mobile CDMA network delivery.
The '-movflags +faststart' flag is specific to MPEG-4-derived containers like MP4, MOV, and 3G2/3GP — it moves the moov atom to the beginning of the file so the video can begin playing before it's fully downloaded. FLV uses its own internal structure for streaming, with metadata and keyframe index tables handled differently by the Flash runtime, so this flag is neither applicable nor needed for FLV output.
Change the CRF value in the '-crf 23' flag. CRF (Constant Rate Factor) controls H.264 quality on a scale where lower numbers mean higher quality and larger files — for example, '-crf 18' produces near-visually-lossless output, while '-crf 28' gives smaller files with more compression. For FLV, valid CRF values range from 0 to 51. Given that 3G2 source files are already heavily compressed, going below CRF 18 offers diminishing returns and will not recover detail lost in the original encoding.
Yes. On Linux or macOS, you can run a shell loop: 'for f in *.3g2; do ffmpeg -i "$f" -c:v libx264 -c:a aac -crf 23 -b:a 128k "${f%.3g2}.flv"; done'. On Windows Command Prompt, use: 'for %f in (*.3g2) do ffmpeg -i "%f" -c:v libx264 -c:a aac -crf 23 -b:a 128k "%~nf.flv"'. This is especially useful when converting a library of old CDMA mobile clips, and it's one of the key advantages of running the command locally rather than through a browser-based tool.

Technical Notes

3G2 files are structured similarly to MP4/MOV (they share the ISO Base Media File Format ancestry) but include extensions specific to 3GPP2 for CDMA network delivery, including support for EVRC and QCELP audio codecs rarely seen outside that ecosystem. When the source 3G2 uses standard AAC audio, FFmpeg can decode it cleanly; however, if the file contains EVRC or QCELP audio (common in voice-focused 3G2 files), FFmpeg's support may be limited and the audio track might not convert correctly. FLV has no support for subtitles, chapters, or multiple audio tracks — matching the limitations of 3G2 — so no metadata of those types is lost in this specific conversion. However, 3G2 metadata tags (such as author or title atoms) are not preserved in FLV output, as the two formats use entirely different metadata structures. File sizes may actually increase slightly if the source 3G2 was encoded at an extremely low mobile bitrate, because the output is normalized to 128k AAC audio and CRF 23 H.264 video regardless of the source bitrate.

Related Tools