Skip to content
Formats

YouTube Audio Quality Explained: Opus, AAC and Bitrates

In short

YouTube streams audio in two lossy codecs, Opus and AAC, and every download starts from one of them. A 320 kbps MP3 made from that stream is a second lossy encode, and a WAV or FLAC is a lossless copy of lossy audio, so neither adds detail. For the timeline, save WAV.

Part of Codecs and Formats for Editing YouTube Footage

On this page

What audio formats does YouTube stream?

YouTube audio arrives in one of two lossy codecs: Opus, usually in a WebM container, or AAC, in an MP4 container that downloads as M4A. As of September 2026, every YouTube download starts from one of those two streams, whatever format you save it as.

Lossy means the encoder has already thrown away detail it judged inaudible, and no later step can bring it back. The choice between the two streams is made for you: the yt-dlp README ranks opus above aac in its default audio codec order. With that ranking, B-ROLL’s MP4, MKV and WEBM video downloads usually carry Opus audio, not AAC.

The table lists the two streams, their values measured on named public videos, and the audio format that keeps each stream without re-encoding.

Stream Codec Container Measured average bitrate Sample rate Saved without re-encoding as
Opus stream Opus, lossy WebM Owner measurement pending Owner measurement pending OPUS
AAC stream AAC, lossy MP4 (M4A) Owner measurement pending Owner measurement pending M4A

The last column comes from yt-dlp’s audio extraction code: when the stream’s codec already matches the requested format, yt-dlp copies it into the new file instead of encoding it again. Every other combination is a conversion. More formats sit in the hub on codecs and formats for editing YouTube footage.

What bitrate and sample rate does YouTube audio have?

As of September 2026, YouTube does not publish the audio bitrate or sample rate of regular video streams, so real figures come from measuring downloaded streams with yt-dlp -F. YouTube does publish the numbers around the stream: what it asks creators to upload, and what its music app offers.

The published figures, from YouTube Help and YouTube Music Help, as of September 2026:

Where the figure comes from Codec Bitrate Sample rate
Recommended upload, stereo AAC-LC, Opus or Eclipsa Audio 384 kbps 48 kHz
Recommended upload, 5.1 AAC-LC, Opus or Eclipsa Audio 512 kbps 48 kHz
YouTube Music, Normal (default) AAC and Opus Upper bound of 128 kbps Not stated
YouTube Music, High (Premium members) AAC and Opus Upper bound of 256 kbps Not stated

Two things follow. The creator’s upload and the stream you download are different files: the upload is YouTube’s input, the stream is YouTube’s own encode. And neither help page lists a lossless option: the highest setting is 256 kbps lossy audio, for Premium members of YouTube Music. B-ROLL does not recognize music.youtube.com links at all, so paste the regular watch link.

A stream bitrate is an average. The yt-dlp README defines its abr field as “Average audio bitrate”, so a quiet interview and a dense music track from the same channel can list different values. The same measurement for picture is in what bitrate YouTube streams at 1080p and 4K.

Sample rate is a separate property, listed by yt-dlp as asr in hertz. Check it on each file before you mix: what happens when 44.1 kHz material lands in a 48 kHz project is covered in 48 kHz vs 44.1 kHz for video editing.

Is a 320 kbps MP3 from YouTube real 320 kbps quality?

No. A 320 kbps MP3 made from YouTube audio has a 320 kbps file size, not 320 kbps quality: the encoder spends more bits describing audio that was already reduced by YouTube’s lossy stream. Converting YouTube audio to 320 kbps MP3 or WAV cannot add detail the stream does not have.

The math shows where the extra bits go. Take YouTube Music’s default setting, an upper bound of 128 kbps (YouTube Music Help), as an example source. A 320 kbps MP3 of that stream spends 2.5 times the bits (320 / 128) on the same decoded sound. The file grows from 0.96 MB to 2.4 MB per minute (kbps x 60 s / 8 bits per byte / 1000), and the added 1.44 MB per minute carries no new information.

Worse, the MP3 is a second lossy generation. The chain is: YouTube’s encode removes detail, the download decodes it back to plain samples, then an MP3 encoder (ffmpeg’s LAME wrapper, libmp3lame, in the FFmpeg codecs documentation) removes detail again by its own rules. Each lossy step discards something; none restores anything.

B-ROLL’s Quality menu follows the same logic. The 320 kbps setting passes 320K to yt-dlp’s --audio-quality option, which sets the encoder’s bitrate for MP3, M4A or OPUS when a conversion happens. The setting never reaches back into the source, and yt-dlp ignores it when the stream is copied. Every audio option is listed on extracting audio from YouTube for video editing.

Does WAV or FLAC improve YouTube audio?

No. WAV and FLAC are lossless containers for the decoded stream: they keep every sample the Opus or AAC decoder produced, including every loss YouTube’s encode made. A WAV of YouTube audio is a lossless copy of lossy audio.

What WAV and FLAC do buy you is the absence of a second lossy step, plus a file your NLE reads without decoding. The price is disk space. A 16-bit stereo WAV at 48 kHz runs at 1,536 kbps (48,000 samples x 16 bits x 2 channels), which is 11.52 MB per minute (1,536 x 60 / 8 / 1000). That is 12 times the 128 kbps figure (1,536 / 128), for the same sound.

The table answers the quality question for each format B-ROLL saves. “Generations” counts the lossy encodes between the creator’s upload and your file.

Format you save What happens to YouTube’s stream Lossy generations Adds detail?
OPUS Copied when the stream is Opus, otherwise re-encoded 1 when copied, 2 when re-encoded No
M4A Copied when the stream is AAC, otherwise re-encoded 1 when copied, 2 when re-encoded No
WAV Decoded to uncompressed PCM 1 No
FLAC Decoded, then compressed losslessly 1 No
MP3 at 320 kbps Decoded, then encoded again as MP3 2 No
MP3 at 128 kbps Decoded, then encoded again as MP3 at a lower bitrate 2 No

B-ROLL’s Quality menu has no effect on WAV and FLAC, since neither has a bitrate to choose. The same stream-in, samples-out rule covers video: B-ROLL’s ProRes and DNxHR files carry their audio as uncompressed 16-bit PCM, decoded from YouTube’s lossy stream.

Which audio format should editors choose for YouTube sources?

For editing, choose WAV: the loss already happened on YouTube’s side, so pick the format your NLE handles with the least trouble. Keep the native M4A or OPUS file when disk space matters, and MP3 only for scratch tracks and client references.

Each job points to one format:

  • Timeline audio (dialogue, music beds, ambience): WAV. No decoding on playback and no further lossy step before your final export.
  • Archive copy: M4A or OPUS. When yt-dlp copies the stream, the file is the stream itself, at its original size.
  • Space-saving lossless copy: FLAC, when your NLE imports it. Same samples as WAV in a smaller file.
  • Reference and transcription: MP3. Small and plays everywhere, but a second lossy generation, so keep it out of the final mix.

Opus in particular can be a problem on a timeline: some editors play Opus and AV1 or VP9 material slowly or refuse it, which is why the edit-ready answer for picture is ProRes or DNxHR. Import support per NLE, file sizes per minute and the drift issues of MP3 are compared in MP3 vs WAV vs FLAC for video editing.

Check the rights before a music track goes into your cut; the questions to ask are covered in using YouTube clips in your own video.

Frequently asked questions

Is Opus better than AAC?

Only when your NLE imports it. Opus and AAC are both lossy, and a YouTube download of either is YouTube's own encode, not the creator's upload. yt-dlp prefers Opus to AAC when it picks the best audio, but for editing, compatibility decides: if your NLE rejects an Opus file, save the same source as WAV or M4A.

How do I check the audio bitrate of a download?

Read the card in B-ROLL after the download finishes. B-ROLL measures the finished file, dividing its size by the duration ffmpeg reads, and shows the result in kbps, for example 160 kbps. Before downloading, the yt-dlp format list shows each stream's average audio bitrate (abr). The same card reads video files, as explained in what bitrate YouTube streams at 1080p and 4K.

Why does my MP3 sound worse than the video?

Because the MP3 went through a second lossy encode. The YouTube player decodes the Opus or AAC stream once, while an MP3 made from that stream was decoded and then compressed again by an MP3 encoder, which discards more detail. Save WAV for editing, or M4A or OPUS to keep the stream as it arrived.

Sources

  1. yt-dlp README on GitHub github.com
  2. yt-dlp source: FFmpegExtractAudioPP (audio extraction post-processor) github.com
  3. FFmpeg codecs documentation ffmpeg.org
  4. YouTube Help: Recommended upload encoding settings support.google.com
  5. YouTube Music Help: Change your audio quality support.google.com

Download B-ROLL, free

Windows 10 and 11 today, macOS and Linux planned. No account, no ads. Voluntary donations keep it free.

v1.0 · 20.3 MB installer · Windows 10 and 11