Skip to content

Instantly share code, notes, and snippets.

@MartinEesmaa
Forked from AgentOak/youtube_formats.md
Last active December 31, 2024 13:30
Show Gist options
  • Save MartinEesmaa/2f4b261cb90a47e9c41ba115a011a4aa to your computer and use it in GitHub Desktop.
Save MartinEesmaa/2f4b261cb90a47e9c41ba115a011a4aa to your computer and use it in GitHub Desktop.
Youtube Format IDs

Note: This is all almost full YouTube ID informations. Original owner goes to AgentOak, modified version by Martin Eesmaa.

See the credits and also special thanks in below.

Last updated: December 2024

Also known as itag or format codes and way back they could be specified with the fmt parameter (e.g. &fmt=22). Depending on the age and/or popularity of the video, not all formats will be available.

DASH video

Resolution AV1 HFR High AV1 HFR AV1 VP9.2 HDR HFR VP9 HFR VP9 H.264 HFR H.264 VP8
MP4 MP4 MP4 WebM WebM WebM MP4 MP4 WebM
4320p 702 402/571 272 138
2160p 701 401 337 315 (313) (305) (266)
1440p 700 400 336 308 (271) (304) (264)
1080p 699 399 335 303 248/616 299 137/216 170
720p 698 398 334 302/612 247 298 136 169
480p 697 397 333 244 135 168
360p 696 396 332 243 134 167
240p 695 395 331 242 133
144p 694 394 330 278/598 160/597
  • HFR stands for "High Framerate", which means up to 60 FPS, whereas non-HFR is limited to 30 FPS
  • Non-HFR 1080p+ H.264 and VP9 variants are not provided for HFR videos anymore
  • Same IDs are reused for 360° videos
  • 1440p+ H.264 variants are only provided for 360° videos anymore
  • At the moment, AV1 variants are only provided for popular videos
  • All AV1 variants can be HDR (no separate non-HDR AV1 variants are offered)
  • AV1 HFR High: High refers to the bitrate. These variants have ~3-4 times the bitrate of their normal counterparts. Additional side effect is providing AV1 HFR variants for low resolutions (<=480p). These variants are rare even among videos with AV1 variants. Found on this video.
  • AV1 HFR 4320p: Format 571 has roughly 50% higher bitrate than 402. Sometimes only one of them is offered, sometimes both. Can be seen on this video.
  • VP8 can be found this video.
  • At format 616, it is the only YouTube premium video format.

Duplicate video IDs

Those duplicate video IDs of m3u8 as Apple Native HLS are linked to common numbers, not a rare numbers.

270 (m3u8) == 137 (https) are same video quality, but different protocol.

Thanks, dtlnor for explanation of equalation video IDs.

602 mp4   256x144     12    │ ~  9.28MiB    87k m3u8  │ vp09.00.10.08    87k video only
269 mp4   256x144     24    │ ~ 18.55MiB   175k m3u8  │ avc1.4D400C     175k video only
603 mp4   256x144     24    │ ~ 16.62MiB   156k m3u8  │ vp09.00.11.08   156k video only
229 mp4   426x240     24    │ ~ 34.72MiB   327k m3u8  │ avc1.4D4015     327k video only
604 mp4   426x240     24    │ ~ 30.72MiB   289k m3u8  │ vp09.00.20.08   289k video only
230 mp4   640x360     24    │ ~ 86.22MiB   812k m3u8  │ avc1.4D401E     812k video only
605 mp4   640x360     24    │ ~ 60.27MiB   567k m3u8  │ vp09.00.21.08   567k video only
231 mp4   854x480     24    │ ~144.25MiB  1358k m3u8  │ avc1.4D401E    1358k video only
606 mp4   854x480     24    │ ~ 98.31MiB   926k m3u8  │ vp09.00.30.08   926k video only
232 mp4   1280x720    24    │ ~280.39MiB  2640k m3u8  │ avc1.4D401F    2640k video only
609 mp4   1280x720    24    │ ~181.03MiB  1705k m3u8  │ vp09.00.31.08  1705k video only
311 mp4   1280x720    60    │ ~  1.14GiB  4842k m3u8  │ avc1.4D4020    4842k video only
270 mp4   1920x1080   24    │ ~498.55MiB  4694k m3u8  │ avc1.640028    4694k video only
614 mp4   1920x1080   24    │ ~312.21MiB  2940k m3u8  │ vp09.00.40.08  2940k video only
617 mp4   1920x1080   60    │ ~  1.52GiB  6443k m3u8  │ vp09.00.41.08  6443k video only
312 mp4   1920x1080   60    │ ~  1.89GiB  7987k m3u8  │ avc1.64002A    7987k video only
620 mp4   2560x1440   24    │ ~928.71MiB  8745k m3u8  │ vp09.00.50.08  8745k video only
623 mp4   2560x1440   60    │ ~  3.85GiB 16287k m3u8  │ vp09.00.50.08 16287k video only
625 mp4   3840x2160   24    │ ~  1.94GiB 18661k m3u8  │ vp09.00.50.08 18661k video only
628 mp4   3840x2160   60    │ ~  8.27GiB 35007k m3u8  │ vp09.00.51.08 35007k video only

Examples of two videos:

30 fps video

60 fps video

DASH audio

Code Container Audio Codec Audio Bitrate Channels Still offered?
139 MP4 AAC (HE v1) 48 Kbps Stereo (2) Yes, YT Music, DRC optional
140 MP4 AAC (LC) 128 Kbps Stereo (2) Yes, YT Music, DRC optional
(141) MP4 AAC (LC) 256 Kbps Stereo (2) No, YT Music*
249 WebM Opus (VBR) ~50 Kbps Stereo (2) Yes, DRC optional
250 WebM Opus (VBR) ~70 Kbps Stereo (2) Yes, DRC optional
251 WebM Opus (VBR) <=160 Kbps Stereo (2) Yes, DRC optional
256 MP4 AAC (HE v1) 192 Kbps Surround (5.1) Rarely
258 MP4 AAC (LC) 384 Kbps Surround (5.1) Rarely
325 MP4 DTSE (DTS Express) 384 Kbps Surround (5.1) Rarely*
327 MP4 AAC (LC) 256 Kbps Surround (5.1) ?*
328 MP4 EAC3 384 Kbps Surround (5.1) Rarely
338 WebM Opus (VBR) ~480 Kbps (?) Quadraphonic (4) ?*
380 MP4 AC3 384 Kbps Surround (5.1) Rarely
599 MP4 AAC (HE v1) 30 Kbps Stereo (2) Yes, DRC optional
600 WebM Opus (VBR) ~35 Kbps Stereo (2) Yes, DRC optional
774 WebM Opus (VBR) ~256 Kbps Stereo (2) Some, YT Music*
  • Surround audio can be found on some demo videos
  • YT Music: These formats are offered on Youtube Music. Format 141 is only available to Premium users with High Quality option
  • Format 327, 338: These have been found on this Stereo 3D video
  • Format 325: You can find out one video link here
  • Format 774 at YT Music: Some music have available high quality of Opus up to 256 kbps to Premium users, music link here and also bypassing is no longer possible to download for non premium users unless you're subscribed to YouTube Premium and can download format available by extra arguments of cookies from browser or the authentication.
  • DRC Optional: Only formats of 130, 140, 249, 250, 251, 599 and 600 were using DRC normalization sound for some videos.

Legacy (non-DASH)

Code Container Video Codec Video Res. Audio Codec Audio Bitrate Channels Still offered?
5 FLV H.263 (Sorenson Spark) 240p (4:3) MP3 64 Kbps Mono (1) No
6 FLV H.263 (Sorenson Spark) 270p (4:3) MP3 64 Kbps Mono (1) No
13 3GP MPEG-4 (Simple, L0) 144p AAC (LC) Unknown Mono (1) No
17 3GP MPEG-4 (Simple, L0) 144p AAC (LC) 24 Kbps Mono (1) No*, old mobile phones
18 MP4 H.264 (Main, L3.0) 360p AAC (LC) 96 (most) / 128 Kbps (some) Stereo (2) Yes, GDrive
22 MP4 H.264 (High, L3.1) 720p AAC (LC) 128 Kbps Stereo (2) No*, GDrive
34 FLV H.264 (Main, L3.0) 360p AAC 128 Kbps Stereo (2) No
35 FLV H.264 (Main, L3.0) 480p AAC 128 Kbps Stereo (2) No
36 3GP MPEG-4 (Simple, L0) 144p AAC (LC) 24 Kbps Mono (1) Rarely, old mobile phones
(37) MP4 H.264 (High, L4.0) 1080p AAC (LC) 128 Kbps Stereo (2) No, GDrive
38 MP4 H.264 3072p AAC 192 Kbps Stereo (2) No
43 WebM VP8 360p Vorbis 128 Kbps Stereo (2) No
44 WebM VP8 480p Vorbis 128 Kbps Stereo (2) No
45 WebM VP8 720p Vorbis 192 Kbps Stereo (2) No
46 WebM VP8 1080p Vorbis 192 Kbps Stereo (2) No
(59) MP4 H.264 (Main, L3.1) 480p AAC (LC) 128 Kbps Stereo (2) No, GDrive
78 MP4 H.264 480p AAC 128 Kbps Stereo (2) No
  • Format 17: Allows for old mobile phones (eg. cell phones) to watch all videos. The video can have 7.5 & 12 fps only.
  • Format 18: Some videos are encoded with audio bitrate of 128 kbps for shorter lengths, most of them are with 96 kbps if most lengths or less views.
  • Always limited to 30 FPS
  • GDrive: These formats are offered for Google Drive video previews. Note that the video player on GDrive displays incorrect codecs on rightclick -> stats
  • Format 22: Available for most videos, except music and music videos (not limited to official music channels!)
  • Starting since May 2024, the Format 17 and Format 22 is removed for every YouTube videos uploaded.

Livestreams (non-DASH)

Code Container Video Codec Video Res. Audio Codec Audio Bitrate Still offered?
91 MPEG-TS (HLS) H.264 (Baseline, L1.1) 144p AAC (HE v1) 48 Kbps Yes
92 MPEG-TS (HLS) H.264 (Main, L2.1) 240p AAC (HE v1) 48 Kbps Yes
93 MPEG-TS (HLS) H.264 (Main, L3.0) 360p AAC (LC) 128 Kbps Yes
94 MPEG-TS (HLS) H.264 (Main, L3.1) 480p AAC (LC) 128 Kbps Yes
95 MPEG-TS (HLS) H.264 (Main, L3.1) 720p AAC (LC) 128 Kbps Yes
96 MPEG-TS (HLS) H.264 (High, L4.0) 1080p AAC (LC) 128 Kbps Yes
300 MPEG-TS (HLS) H.264 (Main, L3.2) HFR 720p AAC (LC) 128 Kbps Yes
301 MPEG-TS (HLS) H.264 (High, L4.2) HFR 1080p AAC (LC) 128 Kbps Yes
  • Non-HFR variants are limited to 30 FPS, HFR to 60 FPS
  • Non-HFR variants for 720p and 1080p may not be offered if HFR is available
  • Livestreams are also offered through DASH video (H.264, VP9) and DASH audio (AAC) streams
  • Both audio codecs of MPEG-TS are limited sample rate to 44.1 Khz for streaming a live broadcast.

Template youtube-dl formats

For archiving videos: Only choose combinations that fit WebM (VP9+Opus) or MP4 (H.264+AAC)

bestvideo[ext=webm]+251/bestvideo[ext=mp4]+(258/256/140)/bestvideo[ext=webm]+(250/249)/best

For archiving audio: Choose any format that's best

AAC Surround 384 / Opus 160 / AAC 192 / AAC Surround 192 / AAC 128 / Opus 70 / AAC 96 / Opus 50 / AAC 48

258/251/22/256/140/250/18/249/139

For streaming videos: Allow any combination

bestvideo+bestaudio/best

yt-dlp usage example

Archive videos

yt-dlp --download-archive yt-dlp.list --ignore-errors --write-info-json --add-metadata --write-sub --sub-lang en,de,ja --write-thumbnail --embed-subs -f "<format>" "<URL>"

Archive audio

yt-dlp --download-archive yt-dlp.list --ignore-errors --write-info-json --add-metadata --write-sub --sub-lang en,de,ja --write-thumbnail --embed-thumbnail --extract-audio -f "<format>" "<URL>"

Complete archive video with audio, comments, subtitles, thumbnail and everything about YouTube ID:

yt-dlp --write-description --write-comments --write-link --write-auto-subs --embed-subs --embed-thumbnail --embed-chapters --sponsorblock-mark all https://www.youtube.com/watch?v=WhWc3b3KhnY

Credits and special thanks

AgentOak (original owner) made YouTube list formats of video and audio ID especially with tips.

MartinEesmaa (forked owner) updated YouTube list formats for up to date.

Special thanks for finding/fixing by:

qzmtch for finding missing 616 format

dtlnor for little interesting explanation of duplicate formats same

r8420 for finding missing 612 format

Ciancy28 for finding high quality of Opus 256 kbps (format 774) in YT Music

joaquinito2070 for renaming youtube-dl to yt-dlp and fixing incorrect bitrates. Some commits were on it.

@MartinEesmaa
Copy link
Author

MartinEesmaa commented Nov 5, 2024

Hi, @aokin1999 and @Ciancy28!

YouTube administrators forbids premium formats for YouTube Music only due bypassing reason and not paying to YouTube Premium of Music. So yt-dlp can't access premium format of music cover art with video covered after YouTube blocked bypassing without Music Premium subscription.

The only way is only can work by passing cookies file from your browser when you subscribed to YouTube Music Premium.

EDIT: I will have to update gist anyway then...

Feel free to reply me back. Thanks! :)

  • Martin Eesmaa

@aokin1999
Copy link

aokin1999 commented Nov 8, 2024

@MartinEesmaa
That doesn't make much sense (in my opinion, at least without more reasons or a technic explanation), since 1080p Premium (VP9 with higher bitrate, ID 616) download through yt-dlp is still allowed.
Don't say that YT Music downloads are more popular than ordinary videos and that's why Premium quality (774, 141) was blocked. Though this still could be a good explanation, IDK. (I would say something about multichannel but I don't have any idea, as I never tried seriously to find videos with that audio formats).
BTW, how is that of passing cookies? ._.

@Adhjie
Copy link

Adhjie commented Nov 9, 2024

Came here from: https://gist.github.com/AgentOak/34d47c65b1d28829bb17c24c04a0096f
Good job, finally a continuation. it's always sad to see abandonware. But IG, that's just how it goes in the docs world.

@Adhjie
Copy link

Adhjie commented Nov 9, 2024

@MartinEesmaa That doesn't make much sense (in my opinion, at least without more reasons or a technic explanation), since 1080p Premium (VP9 with higher bitrate, ID 616) download through yt-dlp is still allowed. Don't say that YT Music downloads are more popular than ordinary videos and that's why Premium quality (774, 141) was blocked. Though this still could be a good explanation, IDK. (I would say something about multichannel but I don't have any idea, as I never tried seriously to find videos with that audio formats). BTW, how is that of passing cookies? ._.

@aokin1999
I want to chime in. So if YT-DLP CLI is a daunting task for you, right now. I suggest looking at any of its GUI forks, e.g., YTDLnis. It supports format ID, downloading/fetching the video or any of its supported websites formats with cookies, though the limitation is only on the video itself right now. e.g., if the video is not HD, the HD option won't appear as an option download as.
Subtitle, etc.

At first, I was searching GUI fork in desktop. IDK why the mobile forks of some categories RN are great (Image Toolbox vs proprietary VideoProc formerly WinX video downloader team) but I'm all for it since I got syncthing to move the files anyway in case of lack of storage.

Oh yeah, paid videos or formats are only accessible with an account with the subscription in question, with cookie given of course when using yt-dlp. cookie here is mainly to download private or unlisted videos that you know the link of, e.g., just to name a few: 2020 anime opening parody (unlisted), bulk download your private or unlisted playlists or other people unlisted playlists with the cookie line in CLI or cookie file if in a fork, e.g., YTDLnis.

I have tried a lot of forks, currently settling on YTDLnis, if you want to check other forks, go ahead and compare them.

edit:
I think the cookie parameter in CLI, also points to cookie file. I haven't check CLI. but YTDLnis also points it to a cookie file.
feel free to elaborate on my explanation, or correct it.

@Adhjie
Copy link

Adhjie commented Nov 9, 2024

Also since I can't find footnotes on 137/216 in 1080p of H.264, what are the differences between the 2 format IDs?

@damp11113
Copy link

I found this video https://www.youtube.com/watch?v=cCEK6XrcUx0 it use opus 338 format.

@MartinEesmaa
Copy link
Author

Hi, @damp11113!

Thanks for the video! It is already recorded list information of format 338 in DASH Audio:

338 WebM Opus (VBR) ~480 Kbps (?) Quadraphonic (4) ?*

I can claim in YouTube Web (tested my desktop browser) uses format 338 when using YouTube stats, but yt-dlp doesn't show format 338 which YouTube disabled it for yt-dlp/youtube-dl.

Feel free to reply or ask question to me. Thanks! :)

  • Martin Eesmaa

@MartinEesmaa
Copy link
Author

Also since I can't find footnotes on 137/216 in 1080p of H.264, what are the differences between the 2 format IDs?

Hey, @Adhjie! Sorry for late response.

I didn't know notice, but I think most videos were encoded of format 137 is common thing, but format 216 sometimes rarely. Thanks for reporting in! :)

  • Martin Eesmaa

@Adhjie
Copy link

Adhjie commented Dec 9, 2024

@MartinEesmaa
IDK, the rule here. Since some GitHub issue section is quite strict with writing messages that alert all the devs that subscribe to this. IDK, the rule in gist is the same or not.
But, to continue. I was asking for clarification. I asked that question after reading the whole IDs tables. Currently I haven't encountered the rare 216.
Thanks for the answer.

Though, if any reader knows 2 or 1 YT videos that have these alternating IDs; feel free to ping/@ me. I wanna know the output in YT-DLP about these 2 IDs.

edit:
elaboration.

2nd edit:
I see, no subscribe button here. I guess gist is not the same as GitHub issue, so no ping to the commenters here?

3rd edit:
I saw the subscribe button. I'll just check this periodically, to declutter my notifs.

@sz3lbi
Copy link

sz3lbi commented Dec 22, 2024

When using YouTube Music Premium, the downloaded audio uses codec 251, which is not listed as being used in YouTube Music.

Based on the discussion, I assume this is the best audio quality YouTube offers, but worse than the best YouTube Music offers.

Video ID / sCPN
wzs0ME6646g / SMAW AYVC RQYV X66M K6DG
Viewport / Frames
0x0*1.25 / -
Current / Optimal Res
0x0
Volume / Normalized
100% / 93% (content loudness 0.7dB)
Codecs
0 / opus (251)
Connection Speed
5385 Kbps
Network Activity
0 KB
Buffer Health
43.75 s
Mystery Text
LIFAE, s:4 t:6.25 b:0.000-50.001 P

I still get codec 141 when streaming. Am I correct in assuming that downloading music results in lower audio quality than streaming?

@Manwithpants812
Copy link

(Thanks for maintaining this.)
It's missing 356 which is the 1080p Premium VP9 30fps id that YouTube on Chrome will give. I don't know if it's a remux of 616 since I can't get yt-dlp to reliably give me 616 and I can't get it to give me 356 at all (even with a Premium account).

@vbooka1
Copy link

vbooka1 commented Dec 30, 2024

A lot of videos are not anymore offered in format 18 (360p + embedded audio), however some are still not deleted yet. Google ran into economic problems and has to clean up servers now?

Some new videos (uploaded 1 hour ago) are presented in format 18, it looks like the format 18 is still supported but Google randomly removes some of the old (uploaded years ago) videos for unknown reasons. Possibly it has something with the view count, I think that less popular videos have higher chance to get most of the formats removed, and more popular videos will be preserved in most formats so more people with different devices will be able to see it.

Also I see that format 139 (audio only, low quality) is almost not existant anymore, as well as format 233, however the latter is still found in some videos.

Formats 140 and 251 (audio only, medium quality) are still available, mostly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment