Convert CAVS to 3GP — Free Online Tool

Convert CAVS (Chinese Audio Video Standard) video files to 3GP format for mobile playback on 3G-era devices and low-bandwidth streaming. This tool re-encodes the CAVS video stream using H.264 (libx264) and packages the result in a 3GP container with AAC audio optimized for constrained mobile bandwidth.

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

CAVS files use a proprietary Chinese national video codec that is not natively supported by most mobile devices or western media players. During this conversion, FFmpeg decodes the CAVS video stream and re-encodes it entirely into H.264 using the libx264 encoder — there is no stream copying possible since the source and destination codecs, while both lossy, are fundamentally different compression standards. The audio (typically AAC in a CAVS container) is re-encoded at a lower 64k bitrate appropriate for 3GP's mobile-optimized profile. A scale filter ensures the output dimensions are divisible by 2, which is a strict requirement for H.264 encoding and avoids errors with odd-pixel-dimension CAVS sources. The resulting 3GP file is a standards-compliant Third Generation Partnership Project container suitable for playback on legacy mobile handsets and low-bandwidth streaming environments.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg binary — the open-source multimedia processing engine that handles decoding the CAVS input and encoding the 3GP output. This is the same engine running in your browser via WebAssembly.
-i input.cavs Specifies the input file in CAVS format. FFmpeg automatically detects the AVS video codec and the container, enabling it to correctly demux and decode the Chinese broadcast stream before re-encoding.
-c:v libx264 Selects the libx264 encoder to re-encode the CAVS video stream into H.264, which is the video codec required for broad compatibility within the 3GP container format used by mobile devices.
-c:a aac Encodes the audio track using AAC, the default and most compatible audio codec for 3GP containers. AAC at low bitrates (like the 64k used here) is specifically well-suited for 3GP's mobile-optimized audio profile.
-crf 23 Sets the Constant Rate Factor for H.264 encoding to 23, which is the standard default balancing perceptual quality and file size. For CAVS broadcast source material being downconverted to mobile 3GP, this value produces clean output without generating files unnecessarily large for mobile storage.
-b:a 64k Caps the AAC audio output at 64 kilobits per second, matching the conventional 3GP audio bitrate standard appropriate for 3G mobile network delivery — lower than the source CAVS broadcast audio but suitable for voice and moderate-quality music on mobile speakers.
-vf scale=trunc(iw/2)*2:trunc(ih/2)*2 Applies a video filter that rounds the width and height of the CAVS source down to the nearest even number. This is mandatory for H.264 encoding in 3GP because the codec requires even pixel dimensions, and CAVS broadcast sources occasionally have non-standard resolutions that would otherwise cause FFmpeg to fail.
output.3gp Specifies the output filename with the .3gp extension, which tells FFmpeg to mux the encoded H.264 video and AAC audio into a 3GPP-compliant container ready for playback on mobile devices or streaming over 3G networks.

Common Use Cases

  • Playing back CAVS broadcast recordings on 3G-era mobile phones that only support the 3GP container format
  • Reducing the file size of Chinese broadcast or IPTV CAVS recordings for distribution over low-bandwidth mobile networks
  • Archiving or sharing clips from Chinese digital television in a universally mobile-readable format when CAVS decoders are unavailable on target devices
  • Preparing CAVS-encoded video content for upload to platforms or CMS systems that specifically require 3GP input files
  • Converting CAVS reference footage received from Chinese broadcast partners into a format reviewable on smartphones without installing specialized codecs
  • Extracting and downscaling CAVS video segments for use in mobile multimedia messaging (MMS) where 3GP is the required container

Frequently Asked Questions

Yes, some quality loss is inevitable because this conversion requires a full decode-and-re-encode cycle — the CAVS video codec cannot be remuxed directly into a 3GP container. The default CRF 23 setting produces visually good H.264 output, but 3GP is designed for mobile consumption with smaller screen sizes, so the re-encoded video is optimized for that context. Additionally, the audio bitrate is reduced to 64k AAC, which is noticeably lower than the audio quality in a typical CAVS broadcast file and may sound thin on headphones.
The scale filter `scale=trunc(iw/2)*2:trunc(ih/2)*2` is required because H.264 encoding in the 3GP container demands that both the width and height of the video be divisible by 2. CAVS source files, especially those captured from Chinese broadcast streams, occasionally have non-standard or odd pixel dimensions. Without this filter, FFmpeg would throw an encoding error. The formula rounds each dimension down to the nearest even number, preserving the original resolution in virtually all practical cases.
Yes, you can lower the CRF value in the FFmpeg command to improve video quality — for example, changing `-crf 23` to `-crf 18` produces significantly sharper H.264 output at the cost of a larger file. However, keep in mind that 3GP files are intended for mobile devices with limited storage and small screens, so very low CRF values may produce files too large for their intended use. If your target device can handle it, a CRF between 18 and 23 is a reasonable range for preserving broadcast-grade CAVS detail.
No. Neither CAVS nor the 3GP container format support subtitles in this conversion pipeline, and the 3GP format does not support chapters or multiple audio tracks. Any metadata embedded in the CAVS source — such as broadcast timestamps or program information — will not be carried over to the 3GP output. If metadata preservation is important, consider converting to a richer container like MP4 instead.
On Linux or macOS, you can use a shell loop: `for f in *.cavs; 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%.cavs}.3gp"; done`. On Windows Command Prompt, use `for %f in (*.cavs) 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"`. The browser-based tool processes one file at a time, so the FFmpeg command is particularly valuable for batch workflows involving many CAVS recordings.
3GP was explicitly designed for Third Generation (3G) mobile networks, which have significantly constrained bandwidth compared to broadband. A 64k AAC bitrate is a well-established default for 3GP because it keeps file sizes small enough for MMS and mobile streaming while remaining intelligible for speech and acceptable for music at small speaker sizes. Since CAVS is primarily a broadcast standard, its audio is typically encoded at higher bitrates, but re-encoding at 64k reflects the practical constraints of the target delivery environment.

Technical Notes

CAVS (AVS-1 / GB/T 20090) is a Chinese national standard developed by the Audio Video Coding Standard Workgroup of China as a royalty-reduced alternative to H.264 for domestic broadcast and IPTV. FFmpeg can decode CAVS streams but the codec is not widely supported outside of Chinese broadcast infrastructure, making conversion essential for cross-platform use. The 3GP container (.3gp) is defined by 3GPP Release 4 and is a restricted profile of the MPEG-4 Part 12 / ISO Base Media File Format — it supports H.264 video and AAC audio, which is exactly what this conversion produces. One important limitation is that 3GP has a maximum recommended frame size for legacy devices (typically QCIF 176×144 or CIF 352×288), so if your CAVS source is full HD broadcast content, the resulting 3GP file may technically encode correctly but will not play on very old handsets. The `-vf scale=trunc(iw/2)*2:trunc(ih/2)*2` filter preserves aspect ratio while guaranteeing even dimensions. Because both CAVS and 3GP are lossy formats, this is a lossy-to-lossy transcode, meaning generation loss accumulates — avoid repeated re-encoding of the same content. File sizes will vary significantly depending on the motion complexity of the CAVS source; a static broadcast interview segment will compress far better than fast-motion sports footage at the same CRF value.

Related Tools