Convert TS to AMR — Free Online Tool

Convert TS broadcast stream files to AMR audio, extracting and re-encoding speech content using the libopencore_amrnb codec at 12.2 kbps. Ideal for pulling voice segments from television or radio recordings into a mobile-compatible, bandwidth-efficient format.

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

MPEG-2 Transport Streams typically carry multiplexed video and audio tracks encoded with codecs like AAC, AC3, or MP3. During this conversion, FFmpeg discards the video stream entirely and extracts the audio track, then transcodes it into Adaptive Multi-Rate Narrowband (AMR-NB) using the libopencore_amrnb encoder. AMR-NB operates at fixed bitrates defined by its codec mode set — in this case 12.2 kbps, the highest-quality AMR-NB mode — and restricts audio to a mono 8 kHz sample rate, which is optimized for speech intelligibility rather than music fidelity. This is a full transcode, not a remux, meaning the audio signal is decoded and re-encoded from scratch.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg multimedia processing tool, which handles the full pipeline of demuxing the TS container, decoding the audio stream, resampling, and re-encoding to AMR-NB.
-i input.ts Specifies the input MPEG-2 Transport Stream file. FFmpeg will demultiplex all contained streams — typically video and one or more audio tracks — and make them available for processing.
-c:a libopencore_amrnb Sets the audio encoder to libopencore_amrnb, the open-source implementation of the Adaptive Multi-Rate Narrowband codec. This encoder produces the .amr speech audio format used in mobile telephony, and automatically constrains output to mono at 8 kHz.
-b:a 12200 Sets the AMR-NB encoding mode to 12.2 kbps, which is Mode 7 and the highest quality available in the narrowband AMR codec. This value must match one of AMR-NB's fixed mode bitrates; 12200 bits per second delivers the clearest speech reproduction the codec supports.
output.amr Defines the output filename with the .amr extension, which tells FFmpeg to write a standard AMR audio file containing the re-encoded narrowband speech stream extracted from the original TS broadcast file.

Common Use Cases

  • Extracting a spoken commentary or interview segment from a broadcast TS recording for use in a mobile voice messaging or telephony application
  • Converting recorded radio speech programs from TS files into AMR for storage on feature phones or older mobile devices with limited codec support
  • Archiving voice-only content from broadcast news captures in a highly compressed format to minimize storage on resource-constrained devices
  • Preparing speech segments from live-stream recordings for integration into IVR (Interactive Voice Response) systems that require AMR-NB input
  • Pulling narration audio from a TS-recorded documentary for use in a low-bandwidth mobile app that streams AMR voice content
  • Generating AMR voice samples from broadcast material for testing or training speech recognition and telephony systems

Frequently Asked Questions

No — AMR-NB is specifically engineered to encode human speech, not music or full-range audio. The codec samples at only 8 kHz, which cuts off all frequencies above 4 kHz, resulting in a muffled, telephone-quality sound for music or complex audio. If your TS file contains a music soundtrack or stereo broadcast audio, the output will lose significant fidelity. AMR is best suited for TS recordings where the primary audio content is voice, such as news broadcasts, interviews, or radio talk programs.
The video stream is completely dropped. FFmpeg processes only the audio track from the TS container and re-encodes it to AMR-NB. No video data is written to the output .amr file, since the AMR format is a pure audio container with no support for video. The output file will typically be a fraction of the size of the original TS file as a result.
By default, FFmpeg selects the first audio stream it encounters in the TS file. MPEG-2 Transport Streams can carry multiple audio tracks — for example, different languages or commentary feeds — so if you need a specific track, you would need to add a stream selector flag such as '-map 0:a:1' to pick the second audio track. The browser tool uses the default selection automatically, but the displayed FFmpeg command can be modified locally to target a specific track.
Yes — 12.2 kbps is the highest bitrate mode available in AMR-NB and corresponds to Mode 7 in the AMR codec mode set. It provides the best speech intelligibility and quality the narrowband codec can deliver. Lower AMR-NB modes (down to 4.75 kbps) are also valid but produce noticeably more artifacts and robotic-sounding speech. For most speech extraction use cases from broadcast TS content, 12.2 kbps is the right choice.
Modify the '-b:a' value in the command to any supported AMR-NB mode bitrate: 4750, 5150, 5900, 6700, 7400, 7950, 10200, or 12200 (bits per second). For example, to use the 7.95 kbps mode, the command becomes: ffmpeg -i input.ts -c:a libopencore_amrnb -b:a 7950 output.amr. Note that unlike codecs such as AAC or MP3, AMR does not accept arbitrary bitrates — only these fixed mode values are valid, and FFmpeg will snap to the nearest one if an unlisted value is specified.
Yes, if your use case supports it. AMR-WB uses the libopencore_amrwb codec, samples at 16 kHz instead of 8 kHz, and captures a wider speech frequency range, resulting in noticeably clearer voice quality. To switch, change the codec flag in the command to '-c:a libopencore_amrwb' and use a supported AMR-WB bitrate such as 23850. However, AMR-WB compatibility is narrower than AMR-NB on older mobile hardware and some telephony platforms, so verify your target device or system supports it before using wideband.

Technical Notes

The libopencore_amrnb encoder enforces strict constraints that differ from most audio codecs: audio is automatically downmixed to mono and resampled to 8000 Hz regardless of the source, meaning a stereo 48 kHz AAC track from a broadcast TS file will be significantly transformed before encoding even begins. This resampling and downmix are handled automatically by FFmpeg's audio conversion pipeline. The AMR container format (.amr) stores raw AMR frames with a simple file header and has no support for metadata tags, chapter markers, or subtitle data — all of which a TS file may carry. None of this metadata will be present in the output. Because TS files from broadcast sources may contain AC3 (Dolby Digital) or MPEG-2 audio rather than AAC, FFmpeg will decode whichever audio codec is present before re-encoding to AMR-NB, making this a universally applicable transcode regardless of the TS audio codec. File sizes will be dramatically smaller than the source — a one-hour TS recording might occupy several gigabytes, while the resulting AMR file for the same duration at 12.2 kbps would be approximately 5.5 MB.

Related Tools