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

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

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

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

Ваша команда

yt-dlp -f 'bv*[height<=1080]+ba/b[height<=1080]' --merge-output-format mp4 --yes-playlist --download-archive archive.txt -o '%(uploader)s/%(upload_date>%Y-%m-%d)s - %(title)s.%(ext)s' --dateafter 20240101 -i https://www.youtube.com/@channel/videos
Основное

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

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

Ограничивает высоту. 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)
Сбросить

Как правильно архивировать канал

Указывайте вкладку /videos канала, а не его корень: в корне есть Shorts и вкладки трансляций, которые вы, вероятно, не имели в виду. Когда файл учёта на месте, регулярный запуск той же команды забирает только новые загрузки.

Фильтры по дате не дают первому запуску разрастись на канале с десятилетним архивом. Если начинается ограничение скорости — добавьте лимит и уменьшите число параллельных fragment: скачивание сотен видео на максимальной скорости и есть причина такого ограничения.

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

Как скачать все видео канала?
Возьмите адрес videos канала в режиме «весь плейлист». Добавьте файл учёта и «продолжать при ошибках» — на большом канале необходимы оба.
Как держать канал в актуальном состоянии?
Запускайте ту же команду с тем же файлом учёта по расписанию. Скачиваться будут только новые загрузки.
Как пропустить Shorts?
Указывайте вкладку /videos, а не корень канала — тогда вкладки Shorts и трансляций в список не попадут.
На больших каналах меня ограничивают по скорости.
Добавьте ограничение скорости и уменьшите число параллельных fragment. Скачивание сотен видео на максимальной скорости и есть то, что вызывает ограничение.