Extract Audio from TS to AU — Free Online Tool

Extract audio from MPEG-2 Transport Stream (.ts) broadcast files and convert it to Sun AU format with 16-bit big-endian PCM encoding. This tool is especially useful for recovering uncompressed audio from broadcast recordings on Unix/Linux systems where AU is a natively supported 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 Stream files typically carry compressed audio encoded in AAC, AC-3, MP3, or Opus — formats used in broadcast television and HLS streaming. Converting to AU requires full re-encoding: the compressed audio stream is decoded to raw PCM samples and then written as 16-bit signed big-endian PCM (pcm_s16be) into an AU container. There is no video remuxing — the video stream is discarded entirely using the -vn flag. The AU format itself has no concept of compressed audio codecs; it stores raw waveform data with a minimal fixed header, so the output will be significantly larger than the original compressed audio track but perfectly lossless in terms of the decoded signal.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg command-line tool, which handles the demuxing of the MPEG-2 Transport Stream, decoding of the compressed broadcast audio (AAC, AC-3, etc.), and encoding into the AU container format.
-i input.ts Specifies the input MPEG-2 Transport Stream file. FFmpeg will parse the TS container, identify all program streams (video, audio, subtitles), and make them available for processing or discarding.
-vn Disables video output entirely — since AU is an audio-only format, the video stream from the transport stream is discarded rather than processed. This also speeds up conversion by skipping video decoding.
-c:a pcm_s16be Decodes the compressed broadcast audio (typically AAC or AC-3 in a .ts file) and re-encodes it as 16-bit signed big-endian PCM, which is the native and most compatible encoding for the Sun AU container format.
output.au Specifies the output filename with the .au extension, which tells FFmpeg to write a Sun AU container. The file will contain a minimal AU header followed by raw 16-bit big-endian PCM audio data with no compression.

Common Use Cases

  • Extracting dialogue or commentary audio from recorded broadcast TV segments (.ts files from DVRs) for use on Unix/Linux systems where AU playback is natively supported
  • Archiving the audio component of HLS stream recordings in an uncompressed, royalty-free format without any codec dependencies
  • Feeding decoded PCM audio from broadcast captures into legacy Unix audio processing pipelines or analysis tools that expect AU-formatted input
  • Stripping the audio track from a multi-track transport stream (e.g., a broadcast file with multiple language tracks) into a flat, uncompressed AU file for editing in older Sun/NeXT-era software
  • Creating a lossless decoded baseline from a compressed broadcast audio track for forensic comparison or quality measurement against other encode versions
  • Preparing audio samples from TS broadcast recordings for use with research or scientific tools on Unix platforms that rely on the AU format's simple, self-describing header structure

Frequently Asked Questions

The conversion from AAC or AC-3 to PCM AU involves decoding the compressed audio, which itself is lossy — the original compression already discarded some audio information. However, the decoding step to PCM is lossless: FFmpeg fully decodes the compressed stream and writes the exact resulting PCM samples into the AU file. No additional quality degradation occurs during the TS-to-AU conversion itself, and the AU output faithfully represents the decoded audio signal.
AU stores raw uncompressed PCM audio at 16 bits per sample. A broadcast TS file typically carries AAC at 128–192 kbps or AC-3 at 192–640 kbps, which are heavily compressed. Uncompressed 16-bit stereo PCM at 44.1 kHz produces approximately 10 MB per minute, compared to roughly 1 MB per minute for 128 kbps AAC. Expect the AU file to be 5–10x larger than the compressed audio track it was derived from.
No. The AU format supports only a single audio stream, so only one track will be extracted. By default, FFmpeg selects the first audio track in the transport stream. If your .ts file contains multiple language tracks or commentary streams, you would need to run separate conversion commands using the -map flag (e.g., -map 0:a:1) to target a specific audio track for each output file.
No. The AU format uses a minimal fixed-length header that stores only sample rate, channel count, encoding type, and an optional ASCII annotation string. It has no support for ID3 tags, language codes, program metadata, or broadcast-specific timestamps present in the MPEG-2 Transport Stream. All such metadata is discarded during the conversion.
Replace pcm_s16be in the command with another AU-compatible codec. For mu-law encoding (commonly used in telephony), use -c:a pcm_mulaw. For A-law encoding, use -c:a pcm_alaw. For 8-bit signed PCM, use -c:a pcm_s8. The full command for mu-law output would be: ffmpeg -i input.ts -vn -c:a pcm_mulaw output.au. Note that mu-law and A-law reduce bit depth significantly and are intended for voice, not music or broadcast-quality audio.
Yes, on Linux or macOS you can use a shell loop: for f in *.ts; do ffmpeg -i "$f" -vn -c:a pcm_s16be "${f%.ts}.au"; done. On Windows Command Prompt, use: for %f in (*.ts) do ffmpeg -i "%f" -vn -c:a pcm_s16be "%~nf.au". Each file is processed sequentially, with the video stream discarded and the audio decoded to 16-bit big-endian PCM in a separate AU file.

Technical Notes

The AU format, originally developed by Sun Microsystems for SunOS and adopted on NeXT workstations, uses a big-endian byte order — which is why pcm_s16be (16-bit signed big-endian PCM) is the natural and default codec for this container. TS files sourced from broadcast or DVR recordings often contain audio at 48 kHz sample rate (the broadcast standard), and FFmpeg will preserve this sample rate in the AU output without resampling unless you explicitly specify -ar. The AU container supports up to 32-bit PCM and companded formats like mu-law and A-law, but it does not support modern compressed codecs, multiple streams, chapters, or subtitles — making it a very narrow-purpose archival format. One known limitation is that AU's annotation field (the optional text header) supports only ASCII and has limited length, so rich metadata from broadcast streams simply cannot be carried over. If you are processing TS files from HLS or DVB sources, be aware that some streams use non-standard sample rates (e.g., 22050 Hz) that AU will store correctly but that may cause compatibility issues in some legacy Unix audio tools expecting 8000 Hz or 44100 Hz.

Related Tools