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

Генератор команд yt-dlp для Reddit

Соберите команду yt-dlp для видео с Reddit — вместе с тем шагом объединения, который возвращает им звук.

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

Ваша команда

yt-dlp --merge-output-format mp4 --no-playlist --embed-metadata https://www.reddit.com/r/videos/comments/xxxxxx/
Основное

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

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

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

Почему видео с Reddit получаются без звука

Reddit хранит видео и звук отдельными файлами. Если ffmpeg нет, yt-dlp скачивает видеодорожку, и нечему подмешать звук — файл воспроизводится, но молча, и никакая ошибка не объясняет почему.

Поставьте ffmpeg — остальное сделает набор с этой страницы. Публикации-галереи считаются плейлистом, поэтому режим «весь плейлист» забирает все элементы.

Хост v.redd.it — место, где начинается большинство проблем. Прямая ссылка v.redd.it скачивается чисто, но та же видеозапись, найденная через ленту сабреддита или страницу old.reddit.com, приходит завёрнутой в URL страницы Reddit, и старые выпуски yt-dlp иногда не могут её развернуть. Сначала обновитесь — yt-dlp -U — и только потом меняйте что-либо ещё: extractor для Reddit особенно часто переделывали, и трёхмесячный бинарник старше нынешнего облика сайта.

Галереи — вторая половина. Reddit упаковывает в галереи изображения с видео внутри, и yt-dlp показывает это плейлистом из отдельных элементов — картинки по одной, видео отдельным элементом. Нужно было только видео — выключите плейлисты, и yt-dlp возьмёт его одно; нужно всё — оставьте режим «весь плейлист» и добавьте файл архива, чтобы повторный запуск подобрал лишь то, что не удалось в первый раз.

Карантинным и NSFW сабреддитам нужны cookies — та же опция браузерных cookies, что и везде, — потому что Reddit не отдаёт адрес медиафайла анонимным запросам. Удалённые публикации — единственное, чего не достанет никакая опция: как только пост убирают, запись на медиа-CDN уходит вместе с ним, а зеркала, которые раньше существовали, давно исчезли. Работает по-прежнему Wayback Machine — но для самой страницы, а это за пределами того, что забирает yt-dlp.

Reddit перекодирует всё, что хостит, и потолок низкий: у v.redd.it предел — 720p, поэтому ограничение высоты в 1080p не найдёт ничего выше 720p и просто вернёт файл 720p — это предел платформы, а не неудачная загрузка. Полезно знать и про «только звук»: -x на видео с Reddit извлекает звуковую дорожку, как и везде, — самый быстрый способ сохранить звук из записи, чьё видео вам не нужно.

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

Почему у моего видео с Reddit нет звука?
Reddit хранит видео и звук раздельно, поэтому их нужно объединить, а для этого требуется ffmpeg. Молчащий файл почти всегда означает, что ffmpeg отсутствует.
Работают ли публикации NSFW?
Нужна авторизованная сессия с включённой настройкой 18+. Передайте её через --cookies-from-browser.
Можно ли скачать галерею целиком?
Поставьте обработку плейлиста на «весь плейлист»: yt-dlp считает галерею плейлистом.