Extract Audio from MXF to AU — Free Online Tool

Extract audio from professional MXF broadcast files and convert it to Sun AU format, remapping the PCM audio stream from little-endian (PCM S16LE) to big-endian (PCM S16BE) — the native encoding AU requires. This is ideal for archivists and Unix-based workflows that need raw PCM audio pulled from broadcast master files.

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

MXF files from broadcast and post-production environments typically carry uncompressed PCM audio, most commonly in 16-bit little-endian (PCM S16LE) or 24-bit little-endian (PCM S24LE) format. The AU container, developed by Sun Microsystems for Unix systems, requires audio encoded in big-endian byte order. During this conversion, FFmpeg discards all video streams entirely using the -vn flag, then decodes and re-encodes the audio from PCM S16LE to PCM S16BE — a byte-swap operation that preserves full audio fidelity with no quality loss, since both are uncompressed 16-bit PCM. The resulting .au file has a minimal fixed-size header followed by raw PCM sample data, making it structurally simple and easy to parse on Unix systems. MXF metadata such as timecodes, reel names, and production metadata is not carried over, as the AU format has no equivalent metadata structures.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg command-line tool. In the browser-based version of this tool, FFmpeg runs locally via WebAssembly (FFmpeg.wasm) — your MXF file never leaves your machine.
-i input.mxf Specifies the input MXF file. FFmpeg will parse the MXF container and identify all streams inside it, which may include video (H.264, MJPEG, or MPEG-2), audio (PCM S16LE or PCM S24LE), and embedded metadata such as SMPTE timecodes.
-vn Disables video output entirely, discarding all video streams from the MXF file. Since the target AU format is audio-only and has no video container capability, this flag ensures FFmpeg does not attempt to process or include the video track.
-c:a pcm_s16be Sets the audio codec to PCM signed 16-bit big-endian, which is the native and default PCM encoding for the AU format. This converts the little-endian byte order used in MXF's PCM audio to the big-endian byte order that AU requires, preserving all 16-bit sample data without any lossy compression.
output.au Defines the output file with the .au extension, instructing FFmpeg to wrap the PCM S16BE audio in a Sun AU container. The AU container adds a compact fixed header containing the sample rate, channel count, and encoding type, followed immediately by the raw PCM sample data.

Common Use Cases

  • Extracting broadcast-quality audio from MXF masters delivered by a TV station or post house for use in a Unix-based audio processing pipeline
  • Converting MXF audio to AU format for ingestion into legacy Sun Solaris or early Unix workstation audio tools that only accept .au files
  • Archiving the raw PCM audio track from an MXF broadcast master in the simple, well-documented AU format for long-term storage alongside Unix system archives
  • Feeding clean PCM audio from an MXF news or documentary file into a streaming server or network audio tool that was originally designed to handle AU streams
  • Stripping audio from MXF camera originals for quality-control listening on Unix workstations without needing to open a full non-linear editing application
  • Providing a lightweight, headerless-equivalent audio extract from MXF files for academic or research use in audio signal processing environments that historically use AU as a standard test format

Frequently Asked Questions

No — this conversion is entirely lossless. Both MXF (carrying PCM S16LE) and AU (carrying PCM S16BE) store uncompressed 16-bit audio. The only transformation FFmpeg performs is swapping the byte order of each sample from little-endian to big-endian, which is mathematically reversible and introduces zero degradation. The waveform data in the output AU file is bit-for-bit equivalent to the source, just reordered at the byte level.
MXF is a metadata-rich format that can carry SMPTE timecodes, reel names, clip names, production metadata, and descriptive metadata. None of this transfers to the AU file. The AU format has an extremely minimal header — just a magic number, data offset, data size, encoding type, sample rate, and channel count — so there are no fields available to store MXF metadata. If preserving timecode or production metadata is important, you should document it separately before converting.
The AU format does support stereo and multi-channel audio through its channel count header field, so a stereo PCM track from an MXF file will be correctly represented in the output AU file. However, MXF files used in broadcast often carry multiple separate mono audio tracks rather than a single interleaved multi-channel track. FFmpeg's default behavior will mux these into a single output stream; if your MXF has multiple discrete audio tracks and you need to handle each separately, you will need to modify the command to specify the audio stream with the -map flag.
The AU format supports several codecs including PCM S8, PCM U8, PCM A-law, and PCM Mu-law in addition to PCM S16BE. PCM S16BE is chosen as the default because it matches the bit depth of typical MXF broadcast audio (16-bit PCM) while converting to the big-endian byte order AU requires. If your MXF source carries 24-bit audio (PCM S24LE) and you need to preserve that bit depth, note that the AU format does not natively support 24-bit PCM through FFmpeg's encoder, so you would face a downgrade to 16-bit. For telephony use cases, substituting -c:a pcm_mulaw or -c:a pcm_alaw would produce a smaller file with lossy G.711 compression.
MXF broadcast files frequently contain multiple discrete audio streams — for example, separate tracks for dialogue, music, and effects. To extract a specific track, add a -map flag before the output filename. For instance, ffmpeg -i input.mxf -vn -map 0:a:1 -c:a pcm_s16be output.au would extract the second audio stream (zero-indexed). You can identify available streams by running ffmpeg -i input.mxf without an output file, which will list all streams with their indices.
Yes — on Linux or macOS you can use a shell loop: for f in *.mxf; do ffmpeg -i "$f" -vn -c:a pcm_s16be "${f%.mxf}.au"; done. On Windows Command Prompt, the equivalent is: for %f in (*.mxf) do ffmpeg -i "%f" -vn -c:a pcm_s16be "%~nf.au". This is particularly useful when working with large broadcast archives containing many MXF masters, and it runs directly on your local machine without any file size restrictions.

Technical Notes

The core technical operation in this conversion is a byte-order swap of uncompressed PCM audio. MXF, following its roots in professional broadcast equipment built on Intel-architecture workstations, stores PCM audio in little-endian byte order (PCM S16LE). The AU format, originating on Sun SPARC workstations which used big-endian architecture, requires big-endian byte order (PCM S16BE). FFmpeg handles this by decoding the source PCM and re-encoding it with swapped byte order — a trivial operation that completes at near-memory-bandwidth speeds with no perceptual quality change. One important limitation to be aware of: if your MXF source contains 24-bit audio (PCM S24LE, common in high-end broadcast and film production), the conversion to PCM S16BE will reduce bit depth from 24 to 16 bits, which is a lossy downgrade in dynamic range (from approximately 144 dB to 96 dB). In that scenario, consider whether AU is truly the right target format, since AU does not support 24-bit PCM through FFmpeg's encoder. Additionally, the AU format does not support multiple audio tracks in a single file, so only the first (or mapped) audio stream will appear in the output. MXF's support for multiple audio tracks, timecode tracks, and rich descriptive metadata is entirely lost in this conversion, as the AU header has no accommodation for such information. File sizes will be comparable to the source audio duration at 16-bit stereo PCM rates — approximately 10 MB per minute for stereo 48 kHz audio — since no compression is applied.

Related Tools