Extract Audio from MP4 to AMR — Free Online Tool
Extract audio from MP4 video files and convert it to AMR format using the libopencore_amrnb codec — a speech-optimized format designed for mobile telephony and voice recordings. AMR's highly efficient compression at bitrates as low as 4.75 kbps makes it ideal for storing voice memos, call recordings, and spoken-word content extracted from video.
to
FFmpeg Command
Copy this command to run the same conversion locally with FFmpeg on your desktop. Download FFmpeg
Drop your MP4 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
During this conversion, FFmpeg discards the MP4's video stream entirely and re-encodes the audio stream using the libopencore_amrnb codec (AMR Narrowband). Unlike a simple remux, this is a full transcoding operation: the source audio — typically AAC or MP3 inside the MP4 container — is decoded to raw PCM and then re-encoded into AMR's speech-optimized compression algorithm. AMR Narrowband operates at an 8 kHz sample rate, so any wideband audio in the original MP4 will be downsampled. This means AMR is well-suited for speech content but will noticeably degrade music or full-range audio. The output is a standalone .amr file with no video, no subtitle tracks, and no chapter markers, as the AMR format supports none of those features.
What Each Flag Does
| Flag | What it does |
|---|---|
ffmpeg
|
Invokes the FFmpeg multimedia processing engine. In this browser-based tool, FFmpeg runs locally via WebAssembly (ffmpeg.wasm) — no data leaves your device. The same command works identically in a desktop FFmpeg installation for files over 1 GB. |
-i input.mp4
|
Specifies the input file — an MP4 container that typically holds a video stream (H.264 by default), an audio stream (usually AAC), and optionally subtitles or chapters. FFmpeg demuxes all streams from this container before processing. |
-vn
|
Disables video output entirely, discarding the MP4's video stream so it is not included in the AMR output. This is necessary because AMR is a pure audio format with no capacity to carry video data. |
-c:a libopencore_amrnb
|
Selects the libopencore_amrnb encoder to re-encode the audio as AMR Narrowband. This decoder/encoder is derived from the 3GPP reference implementation and produces standards-compliant AMR NB output at 8 kHz mono — the format used in GSM mobile telephony and voice recording applications. |
-b:a 12200
|
Sets the AMR encoding bitrate to 12,200 bps, which corresponds to AMR mode MR122 — the highest quality mode available in AMR Narrowband. This provides the most intelligible speech output while still achieving the dramatic file size reduction that AMR is known for. |
output.amr
|
Defines the output filename and triggers FFmpeg to write a standards-compliant .amr file with the IETF AMR magic header. The .amr extension ensures native playback compatibility with Android devices, feature phones, and telephony platforms that recognize this container. |
Common Use Cases
- Extracting voice-over narration from an MP4 screen recording to create a voice memo compatible with older Android or feature phones that natively play AMR files
- Converting a recorded video interview or lecture to AMR for storage on embedded systems or IoT devices with very limited storage capacity where the low bitrate (as low as 4.75 kbps) is critical
- Preparing speech audio extracted from MP4 video for use in telephony systems or IVR platforms that require AMR-encoded audio files
- Stripping audio from a video conference recording to produce a compact AMR voice file for archiving spoken meeting notes on mobile devices
- Extracting monologue or dialogue audio from an MP4 clip to test speech recognition pipelines that are calibrated for narrowband 8 kHz AMR input
- Converting MP4 video voicemails or video messages to AMR so they can be stored or replayed on legacy mobile handsets with native AMR support
Frequently Asked Questions
No — AMR Narrowband is specifically engineered for speech and will produce poor results with music, sound effects, or any full-range audio. The codec operates at a fixed 8 kHz sample rate, which cuts off all audio frequencies above 4 kHz. This eliminates most of the harmonic content that makes music sound natural. If your MP4 contains music or mixed audio, a format like MP3 or AAC will give far better quality results.
Two factors account for the dramatic size reduction. First, the video stream is completely removed, which typically accounts for the vast majority of an MP4 file's size. Second, AMR at its default 12,200 bps bitrate is an extremely low-bitrate codec compared to the AAC audio (usually 128–320 kbps) found in most MP4 files. The combination means an AMR file can be 50–100 times smaller than the source MP4 for speech content.
AMR Narrowband (NB) samples audio at 8 kHz and supports bitrates from 4,750 to 12,200 bps, making it the standard for GSM mobile telephony. AMR Wideband (WB) samples at 16 kHz with bitrates up to 23,850 bps, delivering noticeably better speech quality and is used in HD Voice calls. This tool uses libopencore_amrnb (Narrowband) by default, which produces .amr files compatible with the broadest range of mobile devices and telephony systems. If you need better speech fidelity and your target system supports it, you can switch to libopencore_amrwb using the FFmpeg command shown on this page.
No. The AMR format has no standardized metadata container, so ID3 tags, iTunes-style atoms, or any other metadata embedded in the MP4 will not be carried over to the output file. If preserving metadata is important for your workflow, consider extracting to a format like M4A or MP3 that supports embedded tags instead.
Replace the value after -b:a in the command with one of the eight fixed AMR Narrowband bitrates: 4750, 5150, 5900, 6700, 7400, 7950, 10200, or 12200 (in bps). For example, use -b:a 7950 for a balance between file size and intelligibility, or -b:a 4750 for the smallest possible file. Unlike MP3 or AAC, AMR does not support arbitrary bitrates — FFmpeg will snap to the nearest valid mode, so using one of these exact values is recommended.
Yes. On Linux or macOS you can loop over files in a directory with a shell one-liner: for f in *.mp4; do ffmpeg -i "$f" -vn -c:a libopencore_amrnb -b:a 12200 "${f%.mp4}.amr"; done. On Windows Command Prompt, use: for %f in (*.mp4) do ffmpeg -i "%f" -vn -c:a libopencore_amrnb -b:a 12200 "%~nf.amr". The browser-based tool on this page processes one file at a time, so the desktop FFmpeg command is the recommended approach for bulk conversions or files larger than 1 GB.
Technical Notes
AMR Narrowband imposes strict constraints that users should understand before choosing this format. The codec mandates mono audio at exactly 8,000 Hz — FFmpeg will automatically downmix stereo MP4 audio to mono and resample to 8 kHz during encoding, which is a lossy, irreversible transformation. The eight fixed bitrate modes (4,750–12,200 bps) are defined by the AMR specification and cannot be interpolated; the 12,200 bps default mode (MR122) offers the highest quality within the standard and is the safest choice for intelligible speech. Because the source MP4 audio is typically AAC-encoded, this conversion involves two generations of lossy compression: AAC decode followed by AMR encode. Starting from a higher-quality AAC source (192 kbps or above) will minimize generational loss, but some degradation is unavoidable. The libopencore_amrnb library used by FFmpeg is derived from the 3GPP reference implementation, ensuring standards-compliant output. The resulting .amr files use the IETF AMR file storage format with the magic header #!AMR, which is natively recognized by Android, many feature phones, and telephony middleware. Note that AMR files produced by this tool will not contain video, subtitles, chapter data, or multiple audio tracks — features available in the source MP4 container are all discarded.