Your 1080p Download Has No Sound Because YouTube Stopped Putting Audio In The Video File

I got to know that YouTube keeps upto 33 separate files of a single video! Earlier I have seen this on GITHUB but today I verified it myself.

Not one file it shrinks on the way out. Thirty-three finished, encoded, permanently stored copies, and every time somebody presses play, the player picks one of them.

I only went looking because a link turned up in a downloader with itag=18 sitting in the middle of it, and I wanted to know whether that number was telling the server what size to make, or pointing at something that already existed.

It points at something that already exists. And the reason your 1080p downloads keep coming out silent is buried in that same list.

Only One of Those 33 Files Has Sound in It

I ran the format list on Big Buck Bunny, the Blender Foundation short, since it is Creative Commons and we can print its numbers freely.

yt-dlp -F "https://www.youtube.com/watch?v=aqz-KE-bpKQ"

Part of what came back:

IDExtensionResolutionFPSFile SizeVideo CodecAudio Codec
140m4aAudio only9.80 MiBAudio onlymp4a.40.2
251webmAudio only9.73 MiBAudio onlyopus
18mp4640 × 3603027.21 MiBavc1.42001Emp4a.40.2
134mp4640 × 3603017.45 MiBavc1.4d401eVideo only
396mp4640 × 3603014.59 MiBav01.0.01M.08Video only
298mp41280 × 72060143.55 MiBavc1.4d4020Video only
302webm1280 × 72060107.46 MiBVP9Video only
398mp41280 × 7206067.98 MiBav01.0.08M.08Video only
299mp41920 × 108060245.69 MiBavc1.64002aVideo only
303webm1920 × 108060160.92 MiBVP9Video only
399mp41920 × 108060118.62 MiBav01.0.09M.08Video only

Run your eye down that last column. Everything says “video only” or “audio only” apart from one row, itag 18, where avc1.42001E and mp4a.40.2 are sitting together in the same file.

That is 360p, and it is the last format left where the picture and the sound live in the same place.

Above 360p, YouTube keeps them apart. The 1080p file has no audio track in it at all, and neither does 720p. Whatever you are downloading with has to fetch two separate files and stitch them together on your machine, normally with FFmpeg doing the joining. When that stitch does not happen, you end up holding a perfectly good silent video.

There used to be an itag 22 as well, with 720p video and audio baked into one file, but YouTube retired it a while back. So 360p is genuinely the only one left in this format list.

The Same 1080p Exists Three Times, and the Sizes Are Nowhere Near Each Other

This is the part worth knowing even if you never think about audio again.

1080p60 on this video is not one file. It is three:

ItagCodecFile Size
299H.264 / AVC245.69 MiB
303VP9160.92 MiB
399AV1118.62 MiB

245 MB against 118 MB. Same resolution, same source and the same 10 minutes of footage. More than half the file size is gone, while the picture remains the same source content.

720p60 goes the same way: 143.55 MB for H.264 against 67.98 MB for AV1.

The resolution number is not the only thing deciding how much space the video takes on your phone. The codec matters enormously. Many downloaders hand you H.264 by default because H.264 plays on almost everything, which means people often download the largest available copy of the quality they requested without being told there was another choice.

There is a real catch. Older phones may not decode AV1 in hardware, so the video can stutter, consume more battery or refuse to open in some players. If your handset is a few years old, VP9 sits in the middle and may be the safer choice.

Also worth noticing: above 1080p on this video, there is no H.264 option at all. The 1440p and 2160p versions only exist as VP9 and AV1, so a phone or application that only handles H.264 may be limited to 1080p for this video.

Why Would Google Store 23 Video Files Instead of One?

Because your connection moves around and the player has to keep up with it live.

When you watch something on mobile data while walking down a street, your available bandwidth can change every few seconds. If Google held one master file and resized it on demand, every viewer would need a separate live encode running on a server somewhere. At YouTube’s scale, that would be brutally expensive and inefficient.

Instead, the encoding work happens once after upload. After that, YouTube mainly serves already prepared files.

The player can then move between versions during playback. If your signal drops, the next segment may quietly come from a lower-resolution stream. When the connection recovers, the player moves back up. You have probably watched this happen hundreds of times without noticing.

Splitting the audio from the video follows the same logic. The player can switch video quality without replacing the audio stream every time the connection changes.

The 33 formats also include four storyboard files. Those are the strips of thumbnail images that appear when you drag along the YouTube timeline. They are stored separately too.

I pulled the three URLs involved in a 1080p playback, one at a time.

yt-dlp -f 18 -g "URL"    # 360p, sound included
yt-dlp -f 299 -g "URL"   # 1080p60 video, silent
yt-dlp -f 140 -g "URL"   # audio by itself

Three completely different addresses came back, each carrying its own parameters. That confirms they are separate media resources rather than three views of one combined file.

The useful fields looked like this:

itag=299
mime=video%2Fmp4
clen=257619653
dur=634.566
expire=1785884646
ip=119.73.xxx.xxx
ParameterMeaning
itagIdentifies the particular format or representation.
mimeDescribes the media container and type.
clenShows the content length in bytes.
durShows the media duration.
expireSets an expiration time for the temporary media URL.
ipCan associate the generated URL with the requesting IP address.

clen is the content length in bytes. A value of 257,619,653 works out to approximately 245.68 MiB, matching the size reported for itag 299. The audio URL carried clen=10271496, or approximately 9.79 MiB.

The exact content length is already known when the link is generated. The server is pointing the downloader toward a prepared representation rather than encoding a new 1080p copy during that request.

The hostname is worth examining too:

rr3---sn-uxn23-3ipe.googlevideo.com

The sn- section identifies part of YouTube’s content-delivery infrastructure. Google operates cache and edge-delivery systems that place frequently requested content closer to viewers, reducing the distance the data has to travel.

The link I started with also contained:

redirect_counter=4

That indicates the request had passed through multiple redirects before reaching the final media response.

You also cannot reliably send one of these generated media links to somebody else. The expire value limits how long the URL works, the request may be tied to an IP address, and signature-related parameters prevent somebody from freely rewriting the protected parts of the address.

Do Not Copy Itag Numbers from Forum Posts

I ran this expecting a 1080p link:

yt-dlp -f 137 -g "https://www.youtube.com/watch?v=aqz-KE-bpKQ"

Instead, it returned:

ERROR: Requested format is not available.

Many guides describe itag 137 as 1080p. On this particular video it does not exist because Big Buck Bunny is available here as 60fps footage, while itag 137 commonly refers to an H.264 1080p30 representation. The H.264 1080p60 format in this list is itag 299.

Frame rate, codec, container, dynamic range and other encoding characteristics can change the itag number. The lists floating around online are not always completely wrong, but they are often incomplete and should not be treated as universal.

So What Do You Actually Do About Any of This?

If you are downloading something to watch on a phone, itag 18 at 360p is the option in this list that arrives as one finished file with both video and audio.

Above that you are into two files and a merge. Either you install ffmpeg and let yt-dlp handle the join, or you paste the link into a browser based youtube video downloader and let it do the merging on its own server. Same operation either way, it just runs somewhere that is not your laptop.

For a lecture or a podcast or a song, take the audio on its own. 9.80 MB against 245 MB, and that one decides itself.

Before committing to a format, inspect the available ladder:

yt-dlp -F "URL"

That one command tells you which resolutions, frame rates, codecs, containers and audio combinations actually exist for the specific video. It also tells you whether the 1080p file you are about to download is the 245 MB H.264 copy, the 161 MB VP9 copy or the 118 MB AV1 copy.

Share This Article
Developer, Designer & Publisher. Adam Lyttle creates apps for fun and profit. With 8 successful business exits, and dozens of apps created, My mission is to build a million dollar app portfolio in public.
Leave a Comment

Leave a Reply

Your email address will not be published. Required fields are marked *

Exit mobile version