Convert Y4M to AAC — Free Online Tool
Convert Y4M (YUV4MPEG2) video files to AAC audio by extracting and encoding the raw audio stream into Advanced Audio Coding format at 128k bitrate. Since Y4M is an uncompressed intermediate format with no native audio container, this tool isolates any accompanying audio data and compresses it into a standalone AAC file optimized for streaming and mobile playback.
to
FFmpeg Command
Copy this command to run the same conversion locally with FFmpeg on your desktop. Download FFmpeg
Drop your Y4M file here
or click to browse
Free — no uploads, no signups. Your files never leave your browser.
Settings
Note: Browser-based encoding uses approximate quality targets. For precise CRF compression, copy the FFmpeg command above and run it on your desktop.
Estimated output:
Conversion Complete!
DownloadHow It Works
Y4M (YUV4MPEG2) is a bare-bones uncompressed video format — it stores raw YUV pixel data with no compression and typically carries no audio, as it is primarily used as an intermediate piping format between tools like x264, FFmpeg, and video encoders. When audio data does accompany a Y4M stream, FFmpeg reads the raw PCM audio and encodes it into AAC using the native aac encoder at 128k bitrate, discarding the uncompressed video frames entirely. The result is a lightweight .aac audio file — a dramatic reduction in file size compared to the original uncompressed Y4M, which can run into gigabytes even for short clips.
What Each Flag Does
| Flag | What it does |
|---|---|
ffmpeg
|
Invokes the FFmpeg binary — the open-source multimedia processing engine that powers both this browser-based tool (via FFmpeg.wasm) and local desktop conversions. All subsequent flags are interpreted by FFmpeg. |
-i input.y4m
|
Specifies the input file: a Y4M (YUV4MPEG2) uncompressed video file. FFmpeg reads the raw YUV video frames and any accompanying audio stream from this file. The .y4m extension signals the YUV4MPEG2 demuxer. |
-c:a aac
|
Instructs FFmpeg to encode the audio stream using the native AAC encoder. This transcodes whatever raw audio exists in the Y4M source into Advanced Audio Coding format, which is widely supported on mobile devices, browsers, and Apple platforms. The video stream from the Y4M file is implicitly dropped since AAC is an audio-only output format. |
-b:a 128k
|
Sets the AAC audio bitrate to 128 kilobits per second, which is the standard default for general-purpose AAC encoding. This bitrate delivers a good balance between file size and audio fidelity — sufficient for speech, music, and most content where the source audio quality from the Y4M pipeline does not demand higher bitrates. |
output.aac
|
Defines the output filename and format. The .aac extension tells FFmpeg to write a raw AAC bitstream file — an audio-only file with no video container. This file can be played in most modern media players and is directly usable in Apple and web streaming workflows. |
Common Use Cases
- Extracting a voice-over or commentary track that was recorded alongside a Y4M intermediate file during a professional video editing pipeline, saving it as a portable AAC file for review on mobile devices.
- Archiving the audio component from a Y4M lossless capture produced by screen recording or broadcast tools (like avconv or VLC piping), where only the audio track needs to be retained long-term.
- Separating audio from Y4M test files generated by video codec benchmarking suites so the audio can be evaluated or synced independently in a DAW.
- Converting Y4M audio output from scientific or academic video processing tools into AAC for embedding in presentations or sharing via platforms like YouTube or Apple Podcasts.
- Reducing storage footprint during a multi-stage encoding pipeline where Y4M intermediates were created for lossless processing and only the AAC audio is needed for the final deliverable.
- Preparing an AAC audio track from a Y4M source for use in an Apple ecosystem workflow, since AAC is the native format for iTunes, iOS, and Apple TV.
Frequently Asked Questions
Y4M (YUV4MPEG2) was designed primarily as a raw video container for inter-process piping and is often used without any audio whatsoever. However, some tools do write audio streams alongside the raw YUV frames. If your Y4M file has no audio track, FFmpeg will produce an empty or invalid AAC file — you can check whether your Y4M contains audio by running 'ffmpeg -i input.y4m' and looking for an audio stream in the output. If no audio stream is listed, this conversion will not yield a usable result.
Yes, AAC is a lossy codec, so encoding to AAC will introduce some degree of audio quality loss compared to the original uncompressed audio data. At the default 128k bitrate used by this tool, the quality is generally considered transparent for casual listening, though audiophiles may notice artifacts on complex material. If you need to preserve the original audio quality losslessly, consider encoding to FLAC or WAV instead of AAC.
Y4M stores raw, uncompressed YUV video frames, which consume enormous amounts of disk space — often hundreds of megabytes or several gigabytes per minute of video. The AAC output file contains only the compressed audio stream with no video data at all, which is why the size difference is so dramatic. AAC at 128k bitrate uses roughly 1MB per minute of audio, making it extremely compact by comparison.
You can adjust the audio quality by changing the value passed to the -b:a flag. For example, replace '128k' with '192k' or '256k' for higher quality, or use '96k' or '64k' to reduce file size further at the cost of audio fidelity. The full command would look like: ffmpeg -i input.y4m -c:a aac -b:a 192k output.aac. For most use cases, 128k–192k strikes a good balance between file size and perceptible quality.
Yes, libfdk_aac is widely regarded as producing better-sounding AAC output than FFmpeg's native aac encoder, especially at lower bitrates. To use it, replace '-c:a aac' with '-c:a libfdk_aac' in the command: ffmpeg -i input.y4m -c:a libfdk_aac -b:a 128k output.aac. However, libfdk_aac requires a custom-built FFmpeg with the library enabled due to licensing restrictions, so it may not be available in all installations or in the browser-based tool.
The single-file command shown on this page can be adapted for batch processing using a shell loop on Linux or macOS: for f in *.y4m; do ffmpeg -i "$f" -c:a aac -b:a 128k "${f%.y4m}.aac"; done. On Windows, a similar loop can be written in PowerShell or a .bat file. The browser-based tool processes one file at a time, so for bulk conversions of large Y4M files, running the FFmpeg command locally on your desktop is the more practical approach.
Technical Notes
Y4M (YUV4MPEG2) encodes video in raw YUV colorspace — typically YUV 4:2:0 — with no inter-frame compression, making it a common interchange format in encoding pipelines but entirely impractical for distribution. Because Y4M is not a general-purpose multimedia container like MKV or MOV, its audio support is limited and inconsistently implemented across tools; many Y4M files have no audio stream at all. When audio is present, FFmpeg reads it as raw PCM and passes it through the native AAC encoder (codec identifier: aac), targeting a constant bitrate of 128k. The output .aac file is a raw AAC bitstream — not wrapped in an MP4 or M4A container — which means it lacks a seekable index and may not be supported by all media players. For broader compatibility, consider outputting to .m4a (an MP4 container with AAC audio) by changing the output filename extension, which would use the command: ffmpeg -i input.y4m -c:a aac -b:a 128k output.m4a. No metadata from the Y4M source (frame rate, resolution, color space) is carried into the AAC output, as AAC is an audio-only format. Transparency, subtitles, and chapter markers are not applicable to either format in this conversion.