Extract Audio from FLV to AMR — Free Online Tool
Extract audio from FLV video files and convert it to AMR format using the libopencore_amrnb codec — optimized for speech and voice content. AMR's narrow-band compression makes it ideal for saving mobile-friendly voice recordings from Flash video sources at extremely low file sizes.
to
FFmpeg Command
Copy this command to run the same conversion locally with FFmpeg on your desktop. Download FFmpeg
Drop your FLV file here
or click to browse
Free — no uploads, no signups. Your files never leave your browser.
Settings
Note: Browser-based encoding uses approximate quality targets. For precise CRF compression, copy the FFmpeg command above and run it on your desktop.
Estimated output:
Conversion Complete!
DownloadHow It Works
This tool strips the video stream entirely from the FLV container and re-encodes the audio — whether it was originally AAC or MP3 inside the FLV — into AMR narrow-band (AMR-NB) using the libopencore_amrnb codec. Because FLV audio is typically encoded at full-range stereo bitrates (128k or higher AAC/MP3) and AMR-NB is a mono, speech-optimized codec with a maximum bitrate of 12.2 kbps, the audio is fully transcoded and downmixed to mono. AMR-NB operates at a fixed 8 kHz sample rate, so all audio is resampled from the FLV source's native sample rate. This means the conversion is lossy and suited specifically for speech content — music or sound effects will lose significant fidelity.
What Each Flag Does
| Flag | What it does |
|---|---|
ffmpeg
|
Invokes the FFmpeg command-line tool, which is running here as a WebAssembly (FFmpeg.wasm) build entirely inside your browser — no data leaves your machine. |
-i input.flv
|
Specifies the input FLV file. FFmpeg will read the FLV container and detect its internal streams — typically an H.264 or FLV1 video stream and an AAC or MP3 audio stream. |
-vn
|
Disables video output entirely, telling FFmpeg to ignore the video stream from the FLV. Since the goal is audio extraction to AMR, no video data is written to the output file. |
-c:a libopencore_amrnb
|
Selects the libopencore_amrnb encoder for the audio stream, which encodes to AMR Narrow-Band format. This encoder automatically resamples the FLV's audio (typically 44.1 kHz or 48 kHz) down to AMR-NB's required 8 kHz and downmixes stereo to mono. |
-b:a 12200
|
Sets the AMR-NB bitrate to 12,200 bps, which corresponds to AMR-NB's highest quality mode (Mode 7, also called MR122). This maximizes speech intelligibility within the codec's constraints and is the best choice when converting spoken audio from FLV sources. |
output.amr
|
Defines the output filename with the .amr extension. FFmpeg uses this extension to select the raw AMR muxer, producing a file with the standard AMR magic-number header that is widely recognized by mobile phones and voice processing applications. |
Common Use Cases
- Extracting voice commentary or narration from an old Flash-based e-learning video to store as a lightweight AMR file for mobile playback
- Pulling spoken dialogue from FLV recordings of webinars or online lectures to create AMR voice memos compatible with older GSM mobile phones
- Converting FLV customer support call recordings that were captured via Flash-based web interfaces into AMR for archival in telephony systems that expect AMR format
- Extracting speech segments from Flash video news clips or interviews to feed into voice transcription pipelines that accept AMR input
- Reducing storage footprint of FLV audio-only content (such as podcast episodes mistakenly saved as FLV) by re-encoding speech to AMR's ultra-low bitrates
Frequently Asked Questions
Yes, and significantly so for anything other than speech. FLV files typically carry AAC or MP3 audio at 128 kbps or higher in stereo, while AMR-NB tops out at 12.2 kbps in mono at 8 kHz. The libopencore_amrnb codec is engineered specifically to preserve speech intelligibility at these extreme compression ratios, so voice recordings and dialogue remain understandable. However, music, background noise, or wide-frequency sound effects will sound noticeably thin and distorted after conversion.
AMR-NB (narrow-band) is inherently a mono codec — it does not support stereo audio. When FFmpeg encodes to libopencore_amrnb, it automatically downmixes any stereo or multi-channel audio from the FLV source to a single mono channel. This is by design and a fundamental characteristic of the AMR format, which was built for mobile telephony where mono voice transmission is the standard.
AMR-NB (narrow-band, used here via libopencore_amrnb) operates at 8 kHz sample rate with bitrates from 4.75 to 12.2 kbps, while AMR-WB (wide-band, libopencore_amrwb) operates at 16 kHz with higher bitrates, producing noticeably clearer speech. If your FLV contains high-quality voice recordings and your target device or system supports AMR-WB, you would get better intelligibility from the wide-band variant. AMR-NB is the better choice for maximum compatibility with older GSM devices and telephony systems.
Replace the value after -b:a with one of AMR-NB's supported fixed bitrates: 4750, 5150, 5900, 6700, 7400, 7950, 10200, or 12200 (in bits per second). For example, to use the lowest bitrate, change the command to: ffmpeg -i input.flv -vn -c:a libopencore_amrnb -b:a 4750 output.amr. Note that AMR-NB uses a fixed set of codec modes — you cannot set arbitrary bitrates, and FFmpeg will snap to the nearest valid mode.
FLV files can carry basic metadata tags, but AMR is an extremely minimal format with virtually no standardized metadata container support. During this conversion, any metadata embedded in the FLV — such as title, author, or duration tags — will be discarded. If preserving metadata is important, consider extracting the audio to a format like M4A or MP3 instead, which have robust metadata support.
The command as shown processes one file at a time, but you can wrap it in a shell loop for batch processing. On Linux or macOS, use: for f in *.flv; do ffmpeg -i "$f" -vn -c:a libopencore_amrnb -b:a 12200 "${f%.flv}.amr"; done. On Windows Command Prompt, use: for %f in (*.flv) do ffmpeg -i "%f" -vn -c:a libopencore_amrnb -b:a 12200 "%~nf.amr". This is especially useful for bulk-processing archived Flash video libraries.
Technical Notes
The libopencore_amrnb encoder enforces strict constraints that distinguish this conversion from most audio extractions: the output is always mono, always sampled at 8000 Hz, and must use one of eight fixed bitrate modes (4750–12200 bps). FFmpeg handles the necessary resampling and downmixing automatically when encoding from FLV source audio, which is typically 44.1 kHz or 48 kHz stereo AAC or MP3. The .amr file extension produced here contains raw AMR-NB frames with a simple magic-number header (#!AMR
), which is recognized by most mobile phones and voice applications but is not an MPEG-4 container. If you need AMR audio inside an MP4/3GP container (as used by some MMS and VoIP systems), a different muxer would be required. One known limitation: some FLV files produced by older Flash encoders may have non-standard audio timestamps or variable frame rates that can cause minor sync artifacts during extraction, though since the video stream is discarded entirely with -vn, this rarely affects the AMR output. The resulting AMR files will be dramatically smaller than the source FLV — a 10-minute FLV at 128k audio might produce a 10-minute AMR file of roughly 900 KB at 12.2 kbps.
), which is recognized by most mobile phones and voice applications but is not an MPEG-4 container. If you need AMR audio inside an MP4/3GP container (as used by some MMS and VoIP systems), a different muxer would be required. One known limitation: some FLV files produced by older Flash encoders may have non-standard audio timestamps or variable frame rates that can cause minor sync artifacts during extraction, though since the video stream is discarded entirely with -vn, this rarely affects the AMR output. The resulting AMR files will be dramatically smaller than the source FLV — a 10-minute FLV at 128k audio might produce a 10-minute AMR file of roughly 900 KB at 12.2 kbps.