Convert 3G2 to CAVS — Free Online Tool

Convert 3G2 files from legacy CDMA mobile devices into CAVS format, China's national broadcast video standard. This tool re-encodes the H.264 video and AAC audio streams from the 3G2 container into a CAVS-compliant output using FFmpeg's libx264 and AAC codecs — no server upload required.

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 format designed for CDMA mobile networks (used by carriers like Verizon and Sprint), typically holding H.264 video and AAC audio encoded at low bitrates optimized for transmission over constrained mobile bandwidth. CAVS (Chinese Audio Video Standard) is a broadcast-oriented container standardized in China as an alternative to H.264/AVC distribution formats. During this conversion, FFmpeg reads the H.264 video stream from the 3G2 container and re-encodes it using libx264 with a CRF of 23, which targets a balanced quality level appropriate for broadcast use. The AAC audio is likewise re-encoded at 128k bitrate. Notably, the 3G2-specific faststart flag used for mobile streaming is dropped, as CAVS targets broadcast delivery rather than progressive download. The result is a file structured for Chinese broadcast compatibility rather than mobile transmission.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg binary — the open-source multimedia processing engine that handles all decoding, encoding, and container remuxing. In the browser tool this runs as FFmpeg.wasm, a WebAssembly port that executes entirely client-side without any server upload.
-i input.3g2 Specifies the input file in 3G2 format — the CDMA mobile container holding the video and audio streams to be read. FFmpeg automatically detects the 3GPP2 container structure and identifies the enclosed H.264 video and AAC audio tracks.
-c:v libx264 Sets the video encoder to libx264, re-encoding the video stream from the 3G2 source into H.264 output suitable for the CAVS container. This is necessary because the video must be fully re-encoded rather than stream-copied to conform to CAVS output requirements.
-c:a aac Sets the audio encoder to AAC, re-encoding the audio track from the 3G2 file. Since both the source 3G2 and the target CAVS format use AAC, this re-encodes the audio through FFmpeg's built-in AAC encoder at the specified bitrate, maintaining compatibility with CAVS playback systems.
-crf 23 Sets the Constant Rate Factor to 23 for the libx264 video encode — the default quality level that balances file size and visual fidelity. For small-resolution 3G2 source footage, CRF 23 typically produces clean output; lower values like 18 can be used for higher quality at the cost of a larger output file.
-b:a 128k Sets the AAC audio bitrate to 128 kilobits per second. This is a standard broadcast-quality audio bitrate that comfortably exceeds the very low audio bitrates (often 12–24k) found in original CDMA 3G2 recordings, though the perceptual quality of the audio output is still bounded by what was captured in the source file.
output.cavs Specifies the output filename with the .cavs extension, which signals FFmpeg to write the encoded video and audio into a CAVS-format container. The .cavs extension identifies the file as conforming to the Chinese Audio Video Standard for downstream broadcast and distribution use.

Common Use Cases

  • Archiving old CDMA mobile phone video recordings into a broadcast-compatible CAVS format for submission to Chinese media platforms or broadcasters
  • Migrating a library of 3G2 clips captured on early Verizon or Sprint smartphones into a standardized format for distribution within Chinese digital broadcast workflows
  • Converting user-generated 3G2 video content for ingest into Chinese broadcast editing suites that require CAVS-compliant source files
  • Repurposing low-bitrate 3G2 mobile footage into CAVS format as a higher-quality intermediate for further processing in broadcast production pipelines
  • Testing CAVS format compatibility by converting readily available 3G2 sample files without needing specialized encoding hardware or software licenses

Frequently Asked Questions

No — this conversion will not recover quality that was lost when the original 3G2 file was recorded. 3G2 files are typically encoded at very low bitrates suited to CDMA network transmission, and re-encoding with CRF 23 in libx264 cannot reconstruct detail that was discarded at capture time. The output CAVS file may actually be larger than the source 3G2 due to the broadcast-oriented encoding profile, but the perceptual quality ceiling is set by the original mobile recording.
CAVS as a format standard defines a container and broadcast specification, but practical FFmpeg support for the native AVS video codec (libxavs) is limited and not widely available in common builds. In this tool's implementation, libx264 is used as the video encoder inside the CAVS container, which provides broad compatibility and reliable output while still producing a file with a .cavs extension suitable for CAVS-aware workflows. This is a pragmatic encoding choice reflecting real-world FFmpeg toolchain availability.
No. The 3G2 format includes movflags faststart metadata specifically designed to optimize progressive download over mobile networks, and this flag is not applied to the CAVS output since it targets broadcast delivery rather than streaming. Other 3G2-specific container metadata such as CDMA network hints is also discarded during the re-mux into CAVS. Standard metadata like duration and codec parameters are preserved in the output.
Change the CRF value in the command to control quality. Lower CRF values produce higher quality and larger files — for example, replace '-crf 23' with '-crf 18' for noticeably better fidelity, which is useful when the source 3G2 has adequate quality to justify it. Values above 28 will produce smaller files but may introduce visible compression artifacts, especially on low-resolution 3G2 source material that is already heavily compressed.
Yes. On Linux or macOS you can use a shell loop: 'for f in *.3g2; do ffmpeg -i "$f" -c:v libx264 -c:a aac -crf 23 -b:a 128k "${f%.3g2}.cavs"; 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.cavs"'. The browser-based tool processes one file at a time, so the FFmpeg command is especially valuable for batch jobs involving large collections of legacy mobile video files.
Neither 3G2 nor CAVS support subtitles or chapter markers in this conversion pipeline, so no subtitle or chapter data will be present in either the source or output file. 3G2 files from mobile devices rarely contain such metadata, so in practice this is unlikely to affect your content. If your source file does contain any timed text tracks, they will be silently dropped during encoding.

Technical Notes

3G2 files are structurally similar to MP4 (both derive from the MPEG-4 Part 12 base format) but include extensions specific to 3GPP2 for CDMA network delivery, including the movflags faststart optimization for low-latency mobile playback. Video in 3G2 is typically encoded with libx264 at resolutions as low as 176x144 (QCIF) or 320x240 (QVGA), reflecting the display and bandwidth constraints of early CDMA handsets. The CAVS format, standardized as GB/T 20090, was developed by the Audio Video coding Standard Workgroup of China and is used primarily in Chinese digital television broadcast. When converting with libx264 at CRF 23, the encoder will honor the source frame size and frame rate without upscaling, meaning the output CAVS file will retain the typically small resolution of the 3G2 source. The AAC audio codec is shared between both formats, making audio re-encoding straightforward with minimal additional quality loss. One known limitation is that very short 3G2 clips (under one second) or files with variable frame rates common in early CDMA recordings may cause FFmpeg to emit duration estimation warnings, though the output file is generally still valid.

Related Tools