Extract Audio from TS to AAC — Free Online Tool

Extract the AAC audio track from a TS (MPEG-2 Transport Stream) file and save it as a standalone .aac file. Since TS files used in broadcast and HLS streaming typically carry AAC audio natively, this tool re-encodes the audio to a clean AAC output — giving you the audio content without the video stream or transport stream overhead.

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 Stream (.ts) files multiplex one or more audio, video, and data streams into a single container designed for robust broadcast transmission. When extracting audio to AAC, FFmpeg discards all video streams entirely (using the -vn flag) and re-encodes the audio to AAC at a specified bitrate. Note that even though TS files commonly carry AAC audio already, FFmpeg re-encodes rather than stream-copies here to ensure a clean, self-contained AAC bitstream file — free of the packetization headers and PES (Packetized Elementary Stream) framing that wrap the audio inside a TS container. The result is a raw AAC audio file (.aac) that can be played independently on virtually any device.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg tool, which handles all the demuxing of the TS container, decoding of the audio stream, re-encoding to AAC, and writing the output file.
-i input.ts Specifies the input MPEG-2 Transport Stream file. FFmpeg will parse the TS packet structure, identify all contained streams (video, audio, data), and make them available for processing.
-vn Disables video output entirely, telling FFmpeg to ignore all video streams found in the TS file. This is essential for audio-only extraction — without it, FFmpeg would attempt to include video in the output.
-c:a aac Sets the audio codec to AAC using FFmpeg's built-in native AAC encoder. This re-encodes the audio from whatever codec it uses in the TS source (commonly AAC or AC-3) into a clean AAC bitstream suitable for the output .aac file.
-b:a 128k Sets the target audio bitrate to 128 kilobits per second, which controls the quality and file size of the extracted AAC audio. 128k is a widely used standard for AAC that balances quality and file size well for most broadcast speech and music content.
output.aac The output filename with the .aac extension, which tells FFmpeg to write a raw AAC audio file in ADTS framing — the standard format for standalone AAC files compatible with virtually all media players and devices.

Common Use Cases

  • Pull the audio commentary track from a recorded broadcast TV stream (.ts file from a DVB tuner or PVR) to archive or transcribe it
  • Extract audio from an HLS transport stream segment or a recorded live stream to use as a standalone audio clip
  • Separate the AAC audio from a TS video recording made by a capture card or set-top box for use in a podcast or audio edit
  • Strip the audio from a .ts file recorded from an IP camera or IPTV stream to analyze or archive the spoken content
  • Extract the audio from a broadcast news or sports TS recording to create a highlight reel or audio summary
  • Prepare the audio-only version of a broadcast recording for playback on mobile devices or media players that don't support .ts files

Frequently Asked Questions

Inside a TS container, AAC audio is wrapped in Packetized Elementary Stream (PES) headers and transport stream packets, which makes it structurally different from a raw or ADTS-framed AAC file. Re-encoding ensures the output is a clean, properly framed .aac file that plays correctly in all AAC-compatible players. If you want to avoid re-encoding entirely and extract a raw bitstream, you could use '-c:a copy -f adts' in the FFmpeg command locally, though this only works reliably when the source audio is confirmed to be AAC.
Yes, there is a small quality loss because the audio is decoded from its original encoded form and then re-encoded to AAC at the target bitrate (default 128k). This is a generation loss — even if the source TS already contained AAC audio. To minimize quality loss, choose a higher bitrate like 192k or 256k, especially if the source audio was encoded at a high bitrate. For archival purposes, 192k AAC is generally considered transparent for most content.
By default, FFmpeg selects the first audio stream it finds in the TS file, which is the typical behavior for single-output AAC extraction. TS files — especially from broadcast sources — can contain multiple audio tracks (e.g., different languages or commentary). The default command does not merge or preserve secondary tracks. If you need a specific track, you would modify the command locally to add '-map 0:a:1' (for the second audio track, zero-indexed) before the output filename.
Replace the '-b:a 128k' value in the command with your desired bitrate, such as '-b:a 192k' or '-b:a 256k'. Higher bitrates preserve more audio detail from the source TS file but produce larger output files. For speech-heavy broadcast content, 96k or 128k is generally sufficient; for music or high-quality broadcast audio, 192k or 256k is recommended. The tool's interface lets you select from preset bitrates before running the conversion in your browser.
No. AAC is a bare audio format and does not support subtitles, chapters, or most metadata beyond basic tags like title and artist. Subtitle tracks embedded in the TS file (such as DVB subtitles or teletext) are dropped entirely during this conversion. Basic audio metadata may not survive either, since TS transport stream metadata structures don't map cleanly to AAC file tags. If metadata preservation is important, consider extracting to a container format like M4A instead.
Yes. On Linux or macOS, you can use a shell loop: 'for f in *.ts; do ffmpeg -i "$f" -vn -c:a aac -b:a 128k "${f%.ts}.aac"; done'. On Windows Command Prompt, use: 'for %f in (*.ts) do ffmpeg -i "%f" -vn -c:a aac -b:a 128k "%~nf.aac"'. The browser-based tool processes one file at a time, so the command-line approach is the most practical option for batch jobs, especially for large collections of broadcast recordings.

Technical Notes

TS (MPEG-2 Transport Stream) is a highly resilient container format designed for broadcast environments where packet loss is common — it uses fixed 188-byte packets with error correction capabilities. Audio in TS files is typically AAC (common in digital broadcast and HLS) or AC-3 (common in North American cable/satellite). This tool targets AAC output, so if the source TS carries AC-3 audio, a full transcode from AC-3 to AAC occurs, which may introduce more noticeable quality changes. The output .aac file uses the ADTS (Audio Data Transport Stream) framing format, which is the standard framing for raw AAC files and is broadly compatible with media players, iOS, Android, and web browsers. One known limitation is that the TS container's program-specific information (PAT/PMT tables) and any embedded DVB or ATSC metadata are not transferable to a bare AAC file. Additionally, if the TS file contains multiple programs (as in a multi-channel broadcast mux), FFmpeg will select audio from the first program by default. For files larger than 1GB — common with long broadcast recordings — the displayed FFmpeg command can be run locally on your desktop without any file size restriction.

Related Tools