Рейтинг:4

Больше не удается загрузить YouTube с помощью youtube-dl. Как решить эту проблему?

флаг ru

Когда я запускаю youtube-dl, я получаю сообщение ниже (оно очень длинное). В чем проблема и как это исправить? Он говорит мне обновить youtube-dl, но я запускаю его в терминале с помощью команды выполнения youtube-dl - я не думаю, что он действительно установлен на моем ПК.

ОШИБКА: Ошибка извлечения подписи: трассировка (последний последний вызов):
  Файл "/snap/youtube-dl/4572/lib/python3.6/site-packages/youtube_dl/extractor/youtube.py", строка 1361, в _decrypt_signature
    video_id, player_url, с
  Файл "/snap/youtube-dl/4572/lib/python3.6/site-packages/youtube_dl/extractor/youtube.py", строка 1274, в _extract_signature_function
    res = self._parse_sig_js (код)
  Файл "/snap/youtube-dl/4572/lib/python3.6/site-packages/youtube_dl/extractor/youtube.py", строка 1343, в _parse_sig_js
    начальная_функция = jsi.extract_function(имя_функции)
  Файл "/snap/youtube-dl/4572/lib/python3.6/site-packages/youtube_dl/jsinterp.py", строка 245, в extract_function
    поднять ExtractorError('Не удалось найти функцию JS %r' % имя_функции)
youtube_dl.utils.ExtractorError: не удалось найти функцию JS «нет»; сообщите об этой проблеме на https://yt-dl.org/bug . Убедитесь, что вы используете последнюю версию; см. https://yt-dl.org/update, как обновить. Обязательно вызовите youtube-dl с флагом --verbose и включите его полный вывод.
 (вызвано ExtractorError("Не удалось найти функцию JS 'na'; сообщите об этой проблеме на https://yt-dl.org/bug. Убедитесь, что вы используете последнюю версию; см. https://yt-dl. org/update о том, как обновить. Обязательно вызовите youtube-dl с флагом --verbose и включите его полный вывод.",)); сообщите об этой проблеме на https://yt-dl.org/bug . Убедитесь, что вы используете последнюю версию; см. https://yt-dl.org/update, как обновить. Обязательно вызовите youtube-dl с флагом --verbose и включите его полный вывод.
guiverc avatar
флаг cn
Вы не предоставили информацию об ОС и выпуске; но вы следовали тому, что он говорит, т.е. «*Убедитесь, что вы используете последнюю версию*», поскольку я взял случайную страницу YouTube и смог загрузить ее без проблем; но ваш *неустановленный* выпуск может отличаться от моего (и вы, возможно, используете выпуск, в котором EOL является «вселенной» или пакетом, созданным сообществом)
karel avatar
флаг sa
Отвечает ли это на ваш вопрос? [youtube-dl не удалось извлечь подпись](https://askubuntu.com/questions/598200/youtube-dl-failed-to-extract-signature)
Allan avatar
флаг ru
@guiverc У меня Ubuntu 20.04.2 LTS, но у меня проблемы с ее обновлением. Использование приложения Software Updater: при проверке обновлений отображается сообщение «Ожидание выхода apt-get». и занимает очень много времени, при этом полоса даже не перемещается дальше того места, откуда она начинается, когда появляется окно сообщения.
Paul avatar
флаг us
@karel Ни один из ответов на этот вопрос не может решить эту проблему, потому что проект `youtube-dl` выглядит мертвым, поэтому обновления не будут обновляться.
karel avatar
флаг sa
@Paul Пакет моментальных снимков youtube-dl автоматически обновляется до последней версии, поэтому ошибка `_extract_signature_function` в этом вопросе не возникает. Для получения дополнительной информации, пожалуйста, прочитайте принятый ответ на [youtube-dl не удалось извлечь подпись] (https://askubuntu.com/questions/598200/youtube-dl-failed-to-extract-signature). Пожалуйста, пропустите в принятом ответе абзац, в котором говорится: «Чтобы обновить youtube-dl до последней версии:».
Paul avatar
флаг us
@karel, «последняя версия» почти не работает, скорее всего, скоро вообще не работает. Я призываю вас пролистать [вопросы проекта](https://github.com/ytdl-org/youtube-dl/issues) и прочитать любое из *множества* обсуждений о том, что проект по разным причинам сломан и заброшен. Лучшее решение — установить то, что кажется [предпочтительной вилкой] (https://github.com/yt-dlp/yt-dlp).
karel avatar
флаг sa
@Paul Спасибо за внимание. Я установил пакет моментальных снимков yt-dlp, протестировал его, и он успешно работал.
флаг mm
Хотя ограничение скорости до 75 КБ/с все еще существует, обновление youtube-dl, по крайней мере, теперь работает. Проект был закрыт из-за жалоб DMCA. Прочитайте полную историю по адресу: https://github.blog/2020-11-16-standing-up-for-developers-youtube-dl-is-back/
Paul avatar
флаг us
@manishraj2011 Этой записи в блоге больше года, и она не имеет отношения к текущему обсуждению. Сопровождающий [ушел из проекта](https://github.com/ytdl-org/youtube-dl/commit/21b759057502c6e70d51011cfb3fb86d84055182).
Рейтинг:6
флаг us

YouTube-DL проект неофициально мертв. Обновлений проекта не было с июня, хотя ранее он был очень активен. От сопровождающих проекта не было опубликованных ответов, и несколько месяцев назад у проекта возникли серьезные проблемы на многих веб-сайтах.

Многие люди мигрировали в yt-dlp, который имеет несколько вариантов установки, включая PIP.

Рейтинг:0
флаг pt

Это известная проблема, возникшая пару дней назад, вот страница проблемы github:

https://github.com/ytdl-org/youtube-dl/issues/30363

Исправление есть:

https://github.com/ytdl-org/youtube-dl/pull/30366/commits/1a091687c248b62c2f0a6070519bd78417828746

Вам придется ждать следующего релиза.

Или, если вы спешите и не можете дождаться следующего выпуска, вы можете вручную отредактировать файл «youtube.py» в своей установке.

В моей установке файл находился по адресу:

/usr/local/lib/python3.8/dist-packages/youtube_dl/extractor/youtube.py

Сделал подмену вручную, и снова скачиваю.

Bruce avatar
флаг cn
Спасибо! Патч у меня работает!
Paul avatar
флаг us
@Bruce Если мой опыт похож на другие, YouTube ограничит загрузку до 75 КБ/сек при использовании youtube-dl. Использование yt-dlp обеспечивает нормальную скорость загрузки.
Wadih M. avatar
флаг pt
@Paul Пол, спасибо, не знал о форке yt-dlp.
Bruce avatar
флаг cn
@Пол, спасибо. Я тоже использую yt-dlp.Интересно, когда Youtube установит ограничение на yt-dlp.
Paul avatar
флаг us
@Bruce Это была игра в кошки-мышки с тех пор, как был создан youtube-dl. Когда это произойдет, yt-dlp просто устранит проблему, и вы сможете установить обновление.
Рейтинг:-1
флаг cn

Я только что создал запрос на включение, чтобы исправить это.Короче говоря, youtube изменил свои двухсимвольные функции на трехсимвольные: это сломало регулярное выражение youtube-dl.

Если вы вытащите проект локально, запустите его в терминале: python -m youtube_dl -x --аудио-формат mp3 https://youtu.be/lhXFIz0pVv4 он должен загрузиться в папку проекта.

Paul avatar
флаг us
Это не будет принято. Прочитайте вопросы. Он мертв, Джим.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.