Перейти к содержимому
yt-dlp

Скачивание субтитров YouTube — генератор команд yt-dlp

Соберите команду yt-dlp, которая сохраняет субтитры в .srt, не скачивая видео.

Необязательно. Если оставить пустым, команда закончится словом URL, которое вы подставите сами.

Ваша команда

yt-dlp --write-subs --convert-subs srt --sub-langs en --write-auto-subs --no-playlist -s 'https://www.youtube.com/watch?v=dQw4w9WgXcQ'
Основное

Только звук извлекает звуковую дорожку и отбрасывает видео.

Видео и качество

Ограничивает высоту. yt-dlp всё равно выберет лучшую дорожку в пределах этого ограничения.

Тип файла, в который объединяются раздельные видео- и аудиодорожки.

Дополнительные опции (3)

Заменяет выбор качества. Для тех, кто уже знает синтаксис форматов.

Перепаковывает дорожки без перекодирования. Быстро и без потерь.

Перекодирует видео. Медленно и с потерями — только если remux не подходит.

Аудио

Файл, в который конвертируется звук.

VBR даёт лучшее соотношение размера и качества; фиксированный bitrate предсказуемее по размеру.

Субтитры

Встраивание помещает субтитры внутрь видео; сохранение пишет рядом отдельный файл .srt.

Через запятую. Если нужны все доступные языки, напишите all.

Плейлисты и каналы

Что делать, когда URL относится и к видео, и к плейлисту.

Работают и диапазоны, и списки — например 1-10,15 или -5::2, чтобы брать каждый второй с конца.

Дополнительные опции (1)

Записывает уже скачанное, поэтому повторный запуск это пропустит. Именно так канал держат синхронизированным.

Фрагменты и главы
Дополнительные опции (2)

Диапазон времени вида *00:01:30-00:03:00 или название главы. Звёздочка в начале означает, что это метка времени.

Метаданные и обложка
Дополнительные опции (3)
SponsorBlock

Вырезает из файла фрагменты, отмеченные сообществом, по данным SponsorBlock.

Дополнительные опции (1)

Оставляет фрагменты, но помечает их, чтобы вы пропускали их сами.

Файлы и папки

Названия полей пишутся внутри %(...)s. Слэши создают папки.

Дополнительные опции (4)

Куда писать файлы. В сочетании с шаблоном выше можно получить подпапки.

Максимальная длина имени файла в символах.

Фильтры
Дополнительные опции (5)

ГГГГММДД или относительная дата вида now-1month.

ГГГГММДД или относительная дата.

Пропускает всё, что меньше. Принимает 5M, 500K и подобное.

Пропускает всё, что больше.

Сколько файлов скачать, прежде чем остановиться.

Сеть

Например 2M или 500K. Полезно, когда остальная полоса нужна для другого.

Дополнительные опции (5)

Ускоряет фрагментированные потоки. Четыре — разумное начало.

Сколько раз повторять неудавшуюся часть. Можно указать infinite.

Адрес HTTP, HTTPS или SOCKS proxy.

Делает запросы похожими на настоящий браузер. Обычное решение, когда внезапно начинается 403.

Вход и cookies

Читает вашу авторизованную сессию напрямую. Нужно для приватного, возрастного и доступного только участникам содержимого.

Дополнительные опции (1)

Файл cookies.txt в формате Netscape, выгруженный из вашего браузера.

Прямые трансляции
Дополнительные опции (2)

Опрашивает, пока запланированная трансляция не начнётся. MIN-MAX — интервал между проверками в секундах.

Обходные пути
Дополнительные опции (3)

Устарело в пользу --add-headers. Оставлено потому, что множество старых руководств всё ещё это используют.

Устарело в пользу --add-headers.

Опции для конкретного сайта, например youtube:player_client=web.

Вывод и отладка
Дополнительные опции (2)
Сбросить

Субтитры без видео

Пробный прогон делает всё, кроме записи видеофайла, так что субтитры остаются, а скачивание не тратится. Для конвертации в SRT нужен ffmpeg.

Если ничего не появилось, скорее всего у видео просто нет субтитров, написанных человеком: автоматические — это отдельный переключатель, и без него yt-dlp ничего не находит и ничего об этом не говорит.

Симуляция — несущий переключатель на этой странице: без неё yt-dlp скачивает целое видео и лишь вдобавок сохраняет субтитры, что для файла длиной с фильм — много трафика ради текстовой дорожки. С ней запуск берёт метаданные, пишет файлы субтитров и не трогает видео вовсе. Плата в том, что симуляция также пропускает запись миниатюры и описания, к которым вы, возможно, привыкли, — это артефакты видеозапуска, а не субтитрового.

Выбор языка — место, где скачивание субтитров становится привередливым. --sub-langs en берёт ровно трек с меткой «en»; en-orig — имя YouTube для автоматически сгенерированного, а en.* как шаблон ловит оба плюс региональные варианты. Несколько языков задаются списком через запятую. Если у видео есть и человеческая, и автоматическая дорожки одного языка, это два отдельных элемента, и скачать оба — законный исход, а не баг.

Форматы имеют значение, когда файл субтитров пойдёт в редактор: SRT — безопасный обменный формат, VTT несёт стили, которые показывает веб-плеер, а собственные JSON3/_SRV форматы YouTube — для машин. Переключатель конвертации в SRT закрывает частый случай, требует ffmpeg и намеренно теряет стили — редактору нужен текст, а не разметка. Если вывод выглядит пустым, проверьте, что файл существует, прежде чем списывать всё на конвертацию: SRT в ноль байт означает, что пуста была сама дорожка.

Автоматические субтитры заслуживают предупреждения: это машинная расшифровка, со всем, что из этого следует — неверные омофоны, отсутствие пунктуации, измятые имена. Для видео на языке, который вы читаете, они — поисковый индекс; для всего, что будете цитировать, дорожка человека (когда она есть) — единственная, которую стоит хранить. У прямых трансляций автосубтитры пишутся на лету и сохраняются только после конца эфира — опции live-записи на этом сайте для картинки, а субтитры закончившейся трансляции скачиваются обычными субтитовыми опциями.

Частые вопросы

Как скачать субтитры без видео?
Выберите вариант .srt и включите пробный прогон: он пропускает запись видеофайла, но субтитры всё равно сохраняет.
Почему файл субтитров не появился?
Скорее всего у видео нет человеческих субтитров. Включите автоматические, чтобы получить машинные.
Как выбрать языки субтитров?
Через запятую, например en,ru. Для всех доступных — all, а шаблон вида en.* заберёт все варианты английского.
Можно ли получить SRT вместо VTT?
Да — вариант .srt их конвертирует, и для этого нужен ffmpeg.