Yt-dlp опять не качает видео с ютуба

Последние несколько дней видео в браузере начали воспроизводится с 5-ти секундной задержкой и проматываются хуже. Когда такое происходит в браузере, это говорит о том что yt-dlp качать вообще не будет, так и есть, не качает. Точно так же было в прошлый раз, но @Ori тогда скинул рабочую стратегию и сразу все заработало. В браузере все видео стали воспроизводится без задержки и yt-dlp стал скачивать.

Вот та самая рабочая стратегия которая помогла в прошлый раз:
-e2 -f2 --reverse-frag --fake-gen 12 --wrong-seq --fake-from-hex 160301FFFF01FFFFFF0303594F5552204144564552544953454D454E542048455245202D202431302F6D6F000000000009000000050003000000

Перепробовал кучу новых вариантов что тут пишут, все работают с задержкой в браузере в 5 секунд, а yt-dlp не стал качать ни на одном.

goodbyedpi.exe заменял, для меня ничего не поменялось, что с новым, что со старым работает одинаково с задержкой и yt-dlp не качает.

GoodByeDPI PX2W V1.2 не помогло, все тоже самое

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

У кого-то получилось убрать полностью задержку в браузере и тем самым сделать рабочим yt-dlp? Помогите пожалуйста!

Через запрет и preset_russia2.cmd загружает на макс. скорости, но с обрывами сети. В ютДЛП, ставьте максимум обрывов не 10 а 100 например и качаете, там если обрывает и затем снова подхватывает то продолжает закачку с места обрыва. Пока только так у меня работает. (МТС)

yt-dlp поддерживает прокси. Если у тебя есть прокси, то yt-dlp --proxy “socks5://login:password@adress:port” ссылка

1 Like

У меня например с крайней запретовской быстросборкой1.3 задержка в браузере пропала. но ют-длп всё равно не качает с тех же серверов что в браузере доступны. Хз почему
[download] Got error: HTTPSConnectionPool(host=‘rr18—sn-n8v7kn7d.googlevideo.com’, port=443): Read timed out. (read timeout=20.0). Retrying

вчера конфиги для гбдпиай с --reverse-frag работали для браузера и ют-длп, потом ркн опять поменял что-то и рабочими остались конфиги с --native-frag где скорость мизерная ~50кБс. только 144р качать.

Потому что браузер обычно присасывается к 3 разным серверам: провайдерскому, магистральному и какому-нибудь ещё. А yt-dlp только к ближайшему (т.е. провайдерскому). Либо ваша стратегия на него не срабатывает, либо проблема в самом сервере. Я по этому поводу картинку ещё месяца полтора назад делал, т.к. у меня именно такая проблема:

Спойлер

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

Сделать можно несколькими способами:

  • Самый простой способ, через курл:
    yt-dlp https://www.youtube.com/watch?v=blablabla -f bv+ba/b --proxy socks5h://127.0.0.1:9150 --downloader curl --downloader-args curl:"--noproxy *"
    Здесь мы получаем ссылку через socks-прокси (можно воспользоваться банальным тор браузером или полноценным тором или чем-то ещё), а затем передаем её курлу с флагом --no-proxy *, который говорит курлу игнорировать прокси. В итоге видео тянется напрямую. Минус - всего 1 поток, а у ютуба есть ограничение на скорость потоков.
  • Самый эффективный вариант, через aria2c:
    yt-dlp https://www.youtube.com/watch?v=blablabla -f bv+ba/b --proxy http://127.0.0.1:9180 --downloader aria2c --downloader-args aria2c:"-c -j10 -s10 -x10 -k1M -m100 --retry-wait=10 --all-proxy="
    Здесь нам понадобится консольная качалка aria2c, можно найти на гитхабе. Работает многопоточно, поэтому даже быстрее, чем нативное скачивание через сам yt-dlp. Ссылку получаем через прокси, потом передаем её в aria2, перезаписывая прокси в ноль ключом --all-proxy=. Вам понадобится http-прокси, иначе aria крашнется с ошибкой в процессе передачи команды от yt-dlp, т.к. не поддерживает socks. Можно, опять-таки, воспользоваться тором: просто добавляем в torrc строку HTTPTunnelPort 9180

Вам может понадобится много попыток для того чтобы начать скачивание, т.к. при использовании прокси ютуб будет ругаться “залогиньтесь, чтобы доказать что вы не бот”. Если используете тор браузер - просто перезапускаете его, чтобы новая цепочка построилась.

На этот случай можно сделать в расширении cookies.txt – Загрузите это расширение для 🦊 Firefox (ru) (для хрома https://chromewebstore.google.com/detail/get-cookiestxt-locally/cclelndahbckbenkjhflpdbgdldlbecc) свои куки из браузера в режиме инкогнито, сохранить их как youtube_cookies.txt в папку с yt-dlp. Затем добавить --cookies youtube_cookies.txt перед --downloader

Спс, я попробую.

upd. 3апрет всё-таки тоже пробивает. Если параметр --dpi-desync-autottl в конфиге для блэклиста где googlevideo.com сменить на --dpi-desync-ttl=4
Но раза с с 30го) зато с норм скоростью. поэтому можно увеличить кол-во ретраев.

вроде бы не только к провайдерскому судя по логу

и кстати после начала использования запрета хром начал подсасываться к кэшам типа rr1---sn-hpaxjvh-v8ce.googlevideo.com/
rr2---sn-hpaxjvh-v8cl.googlevideo.com которые судя по хуис вообще не моего провайдера, а дом.ру всякие итд
можно конечно взять их с rr1 по rr19 или сколько их там, и завернуть на петлю в .hosts. но в браузере 3апрет их нормально пробивает. хз

Интересно. У меня yt-dlp тупо выбирает 1 сервер и тычется в него до посинения, хоть 100 ретраев ставь.