Convert TS to AU — Free Online Tool

Convert MPEG-2 Transport Stream (TS) files to Sun AU format by extracting the audio track and re-encoding it as 16-bit big-endian PCM — the native, uncompressed audio format used on Unix/Solaris systems. This tool strips all video, subtitle, and broadcast metadata from the TS container, delivering a raw audio file compatible with legacy Unix applications and classic Java audio APIs.

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 video (often H.264 or H.265) alongside audio encoded in AAC, AC-3, or MP3, all multiplexed into a packet-based container designed for broadcast transmission. Converting to AU requires discarding the video stream entirely and transcoding the compressed audio into PCM (pulse-code modulation) — specifically pcm_s16be, which is 16-bit signed integer samples stored in big-endian byte order. There is no lossless shortcut here: the compressed audio (e.g., AAC at 128k) must be fully decoded and then re-encoded into uncompressed PCM samples. The result is a much larger audio file with a minimal Sun AU header containing only sample rate, channel count, encoding type, and an optional annotation field — none of the rich metadata, chapter markers, or multi-track structure of the original TS file.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg binary — the underlying engine that this browser tool replicates via WebAssembly. The same command shown here runs identically on your local machine if FFmpeg is installed.
-i input.ts Specifies the input file: an MPEG-2 Transport Stream. FFmpeg will demultiplex the TS container, identifying its video, audio, and any subtitle or data PIDs before processing begins.
-c:a pcm_s16be Sets the audio codec to 16-bit signed big-endian PCM — the native encoding of the Sun AU format. This forces a full decode of the compressed TS audio (typically AAC or AC-3) into uncompressed PCM samples stored in big-endian byte order, as expected by Solaris/SunOS and Java audio APIs.
output.au Defines the output filename with the .au extension, which tells FFmpeg to use the Sun AU muxer. All video streams from the TS are implicitly dropped because the AU format is audio-only — no -vn flag is required since the container itself cannot hold video.

Common Use Cases

  • Extracting a broadcast audio feed from a recorded TS stream for ingestion into a legacy Unix-based audio processing pipeline that only accepts AU files
  • Preparing audio from a digitized television recording for use with Java applets or applications that rely on the javax.sound.sampled API, which has native AU/PCM support
  • Converting TS audio to uncompressed PCM AU for bit-accurate analysis or forensic examination, where compressed codec artifacts from AAC or AC-3 would distort the results
  • Supplying raw PCM audio from a broadcast TS recording to classic Sun Solaris or NeXTSTEP workstation software that predates MP3 and AAC format support
  • Stripping a TS file down to a simple, headerless-adjacent audio file for embedding in older web applications or interactive CD-ROM titles built on early Java Audio Engine toolkits
  • Archiving the audio component of a TS broadcast segment in an uncompressed format for long-term preservation, where codec dependency rot is a concern

Frequently Asked Questions

It depends on what audio codec is in your TS file. The TS container commonly stores audio as AAC or AC-3 — both lossy formats. When FFmpeg decodes that compressed audio and re-encodes it as pcm_s16be, the PCM itself is lossless, but it cannot recover detail that was discarded by the original lossy compression. You are essentially getting a lossless capture of already-lossy audio. If your TS file happens to contain FLAC or PCM audio (less common but possible), the conversion to AU PCM will be effectively lossless end-to-end.
The TS file stores audio in a compressed format like AAC or AC-3, which can achieve compression ratios of 10:1 or more compared to raw PCM. The AU file uses pcm_s16be — completely uncompressed — so every second of stereo audio at 44.1 kHz requires roughly 176 KB of storage (44100 samples × 2 channels × 2 bytes). A 30-minute broadcast TS file with a modest AAC audio track at 128 kbps might yield an AU file several times larger than the entire original TS. The video is discarded, but the audio alone expands dramatically.
Almost none. The Sun AU format has an extremely minimal header: it stores the data offset, data size, encoding type, sample rate, and channel count. It does have a small annotation field in the header, but FFmpeg does not populate it with TS metadata such as program names, channel IDs, timestamps, EPG data, or language tags. All of that broadcast-specific information is lost. If preserving metadata is important, you should extract the audio to a format like FLAC or WAV, which have richer metadata containers.
No. The Sun AU format supports only a single audio stream, and by default FFmpeg will select one audio track — typically the first or highest-priority one — from the TS file. If your broadcast TS contains multiple language tracks or commentary streams, only one will be included in the output AU file. To process a specific track, you can modify the FFmpeg command to add -map 0:a:1 (replacing '1' with the zero-based index of your desired audio track) before the output filename.
To change the sample rate, add -ar followed by the rate in Hz before the output filename — for example, -ar 44100 forces 44.1 kHz output. To change the bit depth or encoding type, swap pcm_s16be in the -c:a flag: use pcm_s8 for 8-bit signed, pcm_u8 for 8-bit unsigned, pcm_alaw for G.711 A-law (a lossy telecom encoding), or pcm_mulaw for G.711 mu-law. For example: ffmpeg -i input.ts -c:a pcm_mulaw -ar 8000 output.au would produce a telephone-quality mu-law AU file at 8 kHz, common in legacy VoIP applications.
Yes. On Linux or macOS, you can use a shell loop: for f in *.ts; do ffmpeg -i "$f" -c:a pcm_s16be "${f%.ts}.au"; done. On Windows Command Prompt, use: for %f in (*.ts) do ffmpeg -i "%f" -c:a pcm_s16be "%~nf.au". Each TS file will have its primary audio track extracted and converted to a separate AU file with the same base filename. This is especially useful when processing recorded broadcast segments or time-shifted television archives.

Technical Notes

The Sun AU format (.au) was developed by Sun Microsystems and became the default audio format on SunOS and Solaris workstations. Its magic number is 0x2e736e64 ('.snd') and its header is big-endian, reflecting its SPARC architecture origins — which is why pcm_s16be (big-endian byte order) is the natural default codec rather than the little-endian PCM found in WAV files. FFmpeg's AU muxer supports pcm_s16be, pcm_s8, pcm_u8, pcm_alaw, and pcm_mulaw, all of which must be explicitly chosen since the format has no compression layer beyond G.711. Notably, AU has no standardized support for metadata beyond the annotation field, no subtitle streams, no chapter markers, and no multi-track audio — making the conversion from TS a significant reduction in container capability. The -c:a pcm_s16be flag forces a full decode-and-re-encode cycle on the TS audio, meaning the output quality ceiling is bounded by the quality of the original compressed audio in the TS. One practical gotcha: some TS files from DVB or ATSC broadcasts contain multiple audio programs (PIDs), and FFmpeg's default stream selection may not pick the one you expect — inspecting the stream map with ffprobe first is advisable for multi-program TS files.

Related Tools