Convert Y4M to AU — Free Online Tool

Convert Y4M (YUV4MPEG2) video files to AU audio format by extracting the raw PCM audio stream and encoding it as 16-bit big-endian PCM (pcm_s16be) — the native codec for Sun AU files. This is useful for pulling uncompressed audio from lossless Y4M intermediate files into a Unix-compatible audio container.

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

Y4M is a headerless, uncompressed video format primarily used as an intermediate piping format between tools like x264, FFmpeg, and VapourSynth — it stores raw YUV video frames with no compression. When converting to AU, FFmpeg discards the raw video stream entirely and extracts only the audio, encoding it as 16-bit big-endian signed PCM (pcm_s16be), which is the default and most compatible codec for the Sun AU container. The AU format wraps PCM audio in a minimal header that includes sample rate, channel count, and encoding type — making it directly playable on Unix/Linux systems without any decoding step. Because both the source audio (if uncompressed) and the target codec are PCM-based, this conversion is lossless for the audio track.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg binary — the open-source multimedia processing engine that this browser-based tool uses via WebAssembly (FFmpeg.wasm) to perform the Y4M to AU conversion entirely client-side.
-i input.y4m Specifies the input file — a Y4M (YUV4MPEG2) file containing raw uncompressed video frames and, in this case, an audio track that will be extracted for the AU output.
-c:a pcm_s16be Sets the audio codec to pcm_s16be — 16-bit signed big-endian PCM, which is the native and default encoding for the Sun AU container format, maintaining lossless audio quality when the source audio is 16-bit or lower.
output.au Specifies the output filename with the .au extension, telling FFmpeg to write a Sun AU container. The video stream from the Y4M input is automatically discarded since the AU format is audio-only.

Common Use Cases

  • Extracting the audio track from a Y4M file produced by a VapourSynth or AviSynth pipeline for use in Unix-based audio processing workflows
  • Archiving the audio component of a Y4M intermediate file in a lightweight, header-simple format compatible with legacy Sun/Solaris or early Unix audio tools
  • Preparing audio extracted from a lossless Y4M source for playback or inspection on systems that natively support the AU format, such as older Java-based audio applications
  • Isolating uncompressed audio from a Y4M test clip used in video codec benchmarking, to separately analyze or score the audio reference stream
  • Converting Y4M audio to AU as part of a Unix shell pipeline where downstream tools (like SoX) accept AU input directly without additional decoding overhead
  • Producing a Sun AU file from a Y4M intermediate generated during lossless video editing to share a clean PCM audio reference with collaborators using Unix audio utilities

Frequently Asked Questions

No — this conversion is lossless for the audio track. Y4M files typically carry uncompressed PCM audio, and the target AU format also stores audio as PCM (specifically pcm_s16be, 16-bit big-endian). As long as the source audio is already at or below 16-bit depth, no quality is lost. If your Y4M source contains higher bit-depth audio (e.g., 24-bit), some precision will be reduced to fit the 16-bit AU encoding.
The video stream is completely discarded. Y4M contains raw, uncompressed YUV video frames which the AU container has no ability to store — AU is a purely audio format. FFmpeg automatically drops the video stream when writing to AU since there is no video codec target. Only the audio track is extracted and written to the output file.
The Sun AU format was designed on SPARC-based Sun workstations, which used big-endian byte ordering, so pcm_s16be (16-bit signed, big-endian) became the native and default codec for AU files. This is a container-level convention, not an arbitrary choice. Most modern playback tools handle the byte order transparently, but if you need little-endian PCM for compatibility with specific software, you would need a different container like WAV.
Yes. The AU format supports several codecs beyond pcm_s16be, including pcm_alaw (G.711 A-law), pcm_mulaw (G.711 mu-law), pcm_s8, and pcm_u8. To use mu-law for example, change the command to: ffmpeg -i input.y4m -c:a pcm_mulaw output.au. Note that A-law and mu-law are lossy companding codecs that reduce audio to 8-bit, so they trade quality for smaller file sizes — useful for telephony or legacy streaming contexts.
Strictly speaking, the YUV4MPEG2 specification does not define an audio container mechanism, and most Y4M files used in codec pipelines carry no audio at all. However, some tools and wrappers do mux audio alongside Y4M video streams. If your Y4M file has no audio track, FFmpeg will either produce an empty or invalid AU file or throw an error — so this conversion is only meaningful when your Y4M source actually contains an audio stream.
You can use a shell loop to process multiple files. On Linux or macOS, run: for f in *.y4m; do ffmpeg -i "$f" -c:a pcm_s16be "${f%.y4m}.au"; done. On Windows Command Prompt, use: for %f in (*.y4m) do ffmpeg -i "%f" -c:a pcm_s16be "%~nf.au". This applies the same pcm_s16be encoding to each file and names the output after the original filename with the .au extension.

Technical Notes

The Sun AU format uses a compact 24-byte minimum header encoding the magic number (.snd), data offset, data size, encoding type, sample rate, and channel count — making it one of the simplest audio container formats in existence. When FFmpeg writes AU output with pcm_s16be, samples are stored as big-endian 16-bit integers, which is directly compatible with Java's AudioInputStream and most Unix audio utilities. Y4M files themselves carry no codec metadata for audio beyond what is embedded in the stream, so FFmpeg infers sample rate and channel count from the raw audio data. One important limitation: AU does not support metadata tags (no ID3, no Vorbis comments), so any title, artist, or other tags present in the source will be silently dropped. The AU format also does not support multiple audio tracks — only a single stereo or mono stream can be written. File sizes will be determined purely by the audio duration and sample rate, since PCM encoding has no compression; a 16-bit stereo stream at 44100 Hz produces approximately 10 MB per minute.

Related Tools