Convert CAVS to AMR — Free Online Tool

Convert CAVS video files to AMR audio, extracting the AAC-encoded speech or voice content from Chinese broadcast video and re-encoding it as Adaptive Multi-Rate audio optimized for mobile telephony. The output uses the libopencore_amrnb codec at 12,200 bps — the highest AMR-NB bitrate — balancing speech intelligibility with the ultra-compact file sizes AMR is designed for.

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 carry video encoded with H.264/AVC alongside AAC audio. During this conversion, the video stream is discarded entirely — only the audio track is processed. The AAC audio is decoded from the CAVS container and then re-encoded from scratch using the libopencore_amrnb encoder, which implements the AMR Narrowband codec standardized for GSM mobile networks. AMR-NB is engineered around the 300–3400 Hz frequency range of human speech, meaning it deliberately discards audio content outside that band. This makes it an extremely poor choice for music or wideband audio, but an efficient and historically proven format for voice recordings and telephony applications. The resulting .amr file will be substantially smaller than the original CAVS source, with audio quality tuned specifically for vocal intelligibility rather than fidelity.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg command-line tool — the same open-source engine that powers this browser-based converter via its WebAssembly build (FFmpeg.wasm).
-i input.cavs Specifies the input file in CAVS format. FFmpeg reads both the H.264 video stream and the AAC audio stream from the CAVS container, though only the audio will be used in the output.
-c:a libopencore_amrnb Sets the audio encoder to libopencore_amrnb, the open-source AMR Narrowband encoder. This encodes the decoded AAC audio at 8 kHz as AMR-NB, the codec used in GSM mobile telephony and the native codec of the .amr file format.
-b:a 12200 Sets the AMR-NB audio bitrate to 12,200 bits per second — the highest of the eight fixed bitrates AMR-NB supports. This gives the best speech intelligibility the AMR Narrowband format can deliver, at a file size that remains extremely compact compared to the original CAVS source.
output.amr Defines the output filename and triggers FFmpeg to write an AMR file. The .amr extension signals the RFC 4867 AMR audio container format, which holds the libopencore_amrnb-encoded speech stream with no video component.

Common Use Cases

  • Extracting dialogue or voice-over tracks from CAVS broadcast recordings for archival in a mobile-compatible voice format
  • Preparing speech segments from Chinese television content for playback on legacy mobile handsets that natively support AMR audio
  • Converting CAVS-recorded interviews or announcements into compact AMR files for upload to telephony or IVR systems
  • Stripping the audio from CAVS surveillance or broadcast footage where only the spoken content needs to be retained at minimal file size
  • Generating AMR voice samples from CAVS source material for integration into mobile apps or embedded systems with constrained storage

Frequently Asked Questions

AMR Narrowband (AMR-NB) is a speech codec that only encodes frequencies between roughly 300 Hz and 3,400 Hz — the range sufficient for voice intelligibility on phone calls. The original CAVS file's AAC audio track has a much wider frequency range, so any music, ambient sound, or high-frequency content in the CAVS source will be lost or heavily degraded in the AMR output. This is an inherent property of the AMR-NB format, not a flaw in the conversion process. If your CAVS source contains music or wideband audio, AMR is not an appropriate target format.
Yes, AMR Wideband (AMR-WB) covers 50–7,000 Hz and offers noticeably better speech quality than the narrowband variant used by default. To switch, change the codec flag in the FFmpeg command from '-c:a libopencore_amrnb' to '-c:a libopencore_amrwb' and update the output filename to 'output.amr'. Note that libopencore_amrwb supports encoding only at specific bitrates (6,600 to 23,850 bps), and the resulting file must be played by a device or app that supports AMR-WB, which is less universally supported than AMR-NB on older hardware.
The H.264 video stream inside the CAVS container is completely discarded. FFmpeg automatically drops the video when the output format is AMR, since AMR is a pure audio-only format with no container support for video. No video quality settings apply, and none of the visual content from the CAVS source is preserved in the output file.
AMR-NB supports only eight fixed bitrates: 4,750, 5,150, 5,900, 6,700, 7,400, 7,950, 10,200, and 12,200 bps. The default command uses 12,200 bps for the best possible AMR-NB speech quality. To use a lower bitrate — for example, 7,950 bps for a smaller file — change the '-b:a 12200' flag to '-b:a 7950'. Values below 7,950 bps will produce noticeably reduced speech intelligibility. AMR-NB does not accept arbitrary bitrate values; FFmpeg will reject or round values not on this fixed list.
No. The AMR file format has extremely limited metadata support — it carries virtually no standardized tag fields for title, artist, or other descriptive information. Any metadata embedded in the CAVS source file will be lost during conversion. If metadata preservation is important, consider converting to a format with richer container support, such as M4A or OGG, using a different output target.
Yes. On Linux or macOS, you can loop over files in a directory with a shell command such as: 'for f in *.cavs; do ffmpeg -i "$f" -c:a libopencore_amrnb -b:a 12200 "${f%.cavs}.amr"; done'. On Windows Command Prompt, use: 'for %f in (*.cavs) do ffmpeg -i "%f" -c:a libopencore_amrnb -b:a 12200 "%~nf.amr"'. The browser-based tool on this page processes one file at a time, so the FFmpeg command approach is especially useful for bulk conversions of large CAVS archives.

Technical Notes

CAVS (Chinese Audio Video Standard, also known as AVS or GB/T 20090) uses H.264/AVC for video and AAC for audio, meaning the audio track entering this conversion pipeline is already a lossy-compressed AAC stream. Re-encoding that AAC audio to AMR-NB introduces a second generation of lossy compression — sometimes called generation loss — which compounds any artifacts already present in the CAVS source. The AMR-NB codec was designed by ETSI for GSM voice channels and is standardized at a fixed 8 kHz sample rate with 8-bit quantization per sample, regardless of the input sample rate. FFmpeg will automatically downsample the AAC audio (typically 44.1 kHz or 48 kHz) to 8 kHz before encoding, which is the primary reason for the significant high-frequency loss in the output. The libopencore_amrnb encoder used here is an open-source implementation of the 3GPP AMR-NB reference codec. AMR files produced by this conversion are compatible with the RFC 4867 single-channel AMR file format and can be played by most mobile operating systems (Android, iOS) and telephony platforms, though desktop media player support varies. CAVS files containing multiple audio tracks will have only the first (default) audio track extracted, as AMR does not support multiple tracks.

Related Tools