EnglishРусский Map

Идентификаторы форматов YouTube

title
Идентификаторы форматов YouTube
type
summary
summary
Числовые коды форматов YouTube (itag) - кодеки, разрешения, устаревшие потоки и выбор флагов для yt-dlp -f.
tags
youtube, yt-dlp, video, reference
created
2026-09-14
updated
2026-09-14
lang
ru
translation_of
youtube-format-ids
source_updated
2026-09-14
translated
2026-09-14
translator
lllm/antigravity/gemini-3.7-flash-medium

У каждого потока, который отдаёт YouTube, есть числовой идентификатор - itag или код формата. Это то самое число, которое yt-dlp -F выводит в первой колонке и которое принимает флаг -f. Самый полный публичный список таких кодов ведётся в gist'е, созданном пользователем AgentOak в 2019 году и поддерживаемом Мартином Эесмаа (Martin Eesmaa) с 2022 года (на момент сохранения последнее обновление датировано 20 августа 2026 года). На этой странице собрано то, что важно при выборе формата; полные таблицы и примеры видео с редкими форматами находятся в исходном gist'е.

Набор доступных идентификаторов для конкретного видео зависит от его возраста и популярности, поэтому подобный список показывает лишь то, что в принципе может существовать, а не то, что гарантированно выдаст -F.

Видео и звук передаются раздельно

Почти всё, что выше разрешения 360p, отдаётся через DASH: раздельные видео- и аудиопотоки, объединяемые на стороне клиента. Именно поэтому строки форматов в yt-dlp записываются как video+audio, а для получения одного файла требуется этап склейки (ffmpeg). Базовый шаблон в gist'е выглядит просто:

bestvideo+bestaudio/best

Склеенные (muxed) форматы, содержащие видео и звук в одном файле, практически исчезли. Формат 18 (360p H.264 с AAC в MP4) всё ещё отдаётся. Формат 22 - совмещённый MP4 720p, на который опирались старые скрипты, - перестал создаваться для новых загрузок 21 июня 2024 года, а формат 17 (144p 3GP для старых телефонов) пропал в мае 2024 года. Любой скрипт с цепочкой запасных вариантов, заканчивающейся на 22, теперь переключается на другие форматы.

Идентификаторы видео по кодекам

Каждое разрешение представлено набором кодеков, и идентификатор указывает на конкретный кодек. К примеру, на 1080p код 137 - это H.264 в MP4, 248 - VP9 в WebM, 303 - VP9 с высокой частотой кадров (HFR), а 399 - AV1. Эта схема работает от 144p (160 H.264, 278 VP9, 394 AV1) до 4320p (138 H.264, 272 VP9, 402 и 571 AV1), хотя верхние ступени доступны для гораздо меньшего числа видео.

В примечаниях к gist'у описаны основные практические нюансы:

  • Варианты в AV1 генерируются только для популярных видео, и каждый AV1-вариант может быть в HDR - отдельной линейки AV1 без HDR не существует.
  • Видео с высокой частотой кадров больше не получают вариантов H.264 или VP9 со стандартной частотой на разрешениях 1080p и выше, а H.264 выше 1080p остался только для панорамных видео 360°.
  • Некоторые идентификаторы (356, 712) относятся к форматам YouTube Premium и требуют cookies авторизованного аккаунта.
  • С конца 2025 года YouTube масштабирует часть видео низкого разрешения с помощью ИИ (super resolution); такие форматы содержат суффикс -sr.
  • Потоки HLS (m3u8) дублируют DASH-потоки под другими идентификаторами: 270 через HLS обеспечивает то же качество, что и 137 через HTTPS. В gist'е приведена полная таблица соответствий, которая объясняет, почему две строки в выводе -F могут выглядеть совершенно одинаково.

Идентификаторы аудио

Два основных идентификатора, актуальных почти для каждого видео: 140 (AAC-LC, 128 кбит/с, MP4) и 251 (Opus, около 128 кбит/с, WebM). Ниже располагаются 139 (HE-AAC, 48 кбит/с) и 249/250 (Opus, около 50 и 70 кбит/с). Форматы объёмного звука, такие как 256, 258 и 328, встречаются только на отдельных демонстрационных роликах, 773 - это бинауральная дорожка IAMF, а 141 (AAC, 256 кбит/с) и 774 (Opus, около 256 кбит/с) представляют собой потоки с повышенным битрейтом для YouTube Music, доступные только Premium-аккаунтам.

Две особенности требуют обходных путей. Форматы 599 и 600 с минимальным битрейтом AAC и Opus с февраля 2025 года ограничены мобильным веб-клиентом и требуют --extractor-args "youtube:player_client=mweb;formats=missing_pot". А формат 139 вообще не отображается при стандартном запуске -F; чтобы он появился, нужен параметр --extractor-args "youtube:player_client=all".

Использование в ytfetch

Скрипт tools/ytfetch в хранилище в основном извлекает субтитры и не запрашивает медиаформаты. Однако они нужны запасному варианту на базе whisper: он скачивает аудио с -f bestaudio (что для обычного видео обычно означает 251 или 140) и конвертирует результат в 16 кГц mono WAV для whisper.cpp. Фиксированное имя файла audio.m4a может не совпадать с полученным контейнером, что не вызывает проблем, так как ffmpeg определяет формат по содержимому файла, а не по расширению.

Поскольку whisper в любом случае делает ресемплинг в 16 кГц моно, стереопотока 128 кбит/с для него с избытком, а цепочка вида 249/139/bestaudio сократила бы объём скачивания более чем в два раза. Влияет ли меньший битрейт на точность транскрипции, здесь пока не замерялось.

Скачивание также может подвисать перед стартом: в gist'е отмечается, что с конца 2025 года YouTube добавляет задержку перед началом отдачи файла, и для устранения сбоев первым делом рекомендуется обновить yt-dlp (pip install -U yt-dlp).

Связанные страницы

gallery-dl применяет тот же подход с отдельными экстракторами для разных сайтов к галереям изображений и умеет передавать видео в yt-dlp. Страницы докладов, обработанные через ytfetch (например, kelley-dont-take-the-black-pill), демонстрируют результат работы цепочки извлечения субтитров.