Генератор команд yt-dlp для Reddit
Соберите команду yt-dlp для видео с Reddit — вместе с тем шагом объединения, который возвращает им звук.
Почему видео с 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 извлекает звуковую дорожку, как и везде, — самый быстрый способ сохранить звук из записи, чьё видео вам не нужно.