YouTube-DL не удалось извлечь подпись

42

Считается очень полезным использовать youtube-dlпрограммное обеспечение для загрузки YouTube.

Сообщение замечено, и оно перестало работать, которое следует.

ERROR: Signature extraction failed: Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/youtube_dl/extractor/youtube.py", line 479, in _decrypt_signature
    video_id, player_url, s
  File "/usr/lib/python2.7/dist-packages/youtube_dl/extractor/youtube.py", line 383, in _extract_signature_function
    res = self._parse_sig_js(code)
  File "/usr/lib/python2.7/dist-packages/youtube_dl/extractor/youtube.py", line 454, in _parse_sig_js
    u'Initial JS player signature function name')
  File "/usr/lib/python2.7/dist-packages/youtube_dl/extractor/common.py", line 391, in _search_regex
    raise RegexNotFoundError(u'Unable to extract %s' % _name)
RegexNotFoundError: Unable to extract Initial JS player signature function name; please report this issue on https://yt-dl.org/bug . Be sure to call youtube-dl with the --verbose flag and include its complete output. Make sure you are using the latest version; type  youtube-dl -U  to update.
; please report this issue on https://yt-dl.org/bug . Be sure to call youtube-dl with the --verbose flag and include its complete output. Make sure you are using the latest version; type  youtube-dl -U  to update.

Что я должен сделать, чтобы продолжить?

Ohmygirl
источник
1
В сообщении четко говорится: «Пожалуйста, сообщите об этой проблеме на yt-dl.org/bug ». Так почему бы не сделать это?
Rinzwind
3
Make sure you are using the latest version; type youtube-dl -U to update.Ты сделал это?
Дэвид Фёрстер
Уважаемый Дэвид Фёрстер, я попробовал и получил сообщение «Похоже, вы установили youtube-dl с менеджером пакетов, pip, setup.py или tarball. Пожалуйста, используйте это, чтобы обновить.
Ohmygirl
@HELLOVENUS Ты прав, youtube-dl -Uбольше не работает. Инструкции по обновлению youtube-dl до последней версии находятся по адресу: youtube-dl не работает . Кстати, он также работает, если вы используете pip install --upgrade youtube-dlвместо, pip install --upgrade youtube_dlи он также работает для локальной установки (т.е. без использования sudo), выполняемой в виртуальной среде Python.
Карел

Ответы:

66

Вы получаете эту ошибку:

Unable to extract Initial JS player signature function name

... потому что youtube-dl не обновлен. Сейчас Google меняет способ доступа к видео на YouTube чаще, чем это было несколько лет назад, поэтому, чтобы поддерживать актуальность youtube-dl, его также необходимо обновлять чаще. Чтобы установить последнюю версию youtube-dl, откройте терминал и введите:

sudo apt remove youtube-dl  
sudo apt install python-pip
pip install --user youtube-dl

Чтобы обновить youtube-dl до последней версии:

sudo pip install --upgrade youtube-dl  

или

sudo snap install youtube-dl # start with snap run youtube-dl     

Сумасшедший, как часто Google менял код для доступа к видео на YouTube. Кажется, я вспомнил, как обновлял youtube-dl всего пару месяцев назад, но все равно не мог загрузить выбранное видео, пока я не обновил его.

youtube-dl - это программа на Python, поэтому вы также можете локально установить последнюю версию youtube-dl в виртуальной среде Python. Информацию о том, как настроить и использовать виртуальную среду Python, смотрите в разделе Как настроить и использовать виртуальную среду Python в Ubuntu? ,

Карел
источник
У меня не сработало :-(
Филипп Гачу
2
Мне пришлось сначала удалить «sudo apt-get remove youtube-dl», а затем использовать команду для установки с pip
Диего Андрес Диас Эспиноза
4

Единственный способ заставить его работать - это последняя версия (для меня на Debian) с

sudo wget https://yt-dl.org/latest/youtube-dl -O /usr/local/bin/youtube-dl
sudo chmod a+x /usr/local/bin/youtube-dl
hash -r

из репозитория GitHub

Филипп Гачу
источник
3

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

youtube-dl "https://www.youtube.com/watch?v=n6AL-WpgoFw"
E_Angel
источник
Этот символ, который ¨вы использовали в своем сообщении, не виден. замените его на 'или ".
afzalex
работал для меня;)
Prateek Joshi
2

У меня была такая же проблема, и это решило ее

 sudo -H pip install --upgrade youtube-dl

и попробуйте поместить ссылку в " link"

Сами Свитч
источник
1

Только так у меня работает!

Каждый раз, когда я путешествую, я беру новую музыку, и вот как установить youtube-dl из pip.

Если вы устанавливаете его из репозитория, он не может загрузить музыку, всегда жалуется ! Так используйте это, чтобы загрузить расслабляющий masterpeace Губка Боб:

!pip install --upgrade youtube-dl 
!youtube-dl -x --audio-format mp3 https://www.youtube.com/watch?v=oq526_37wc0
прости
источник
0

Ни один из этих ответов не работал для меня. Я получил эту работу, используя инструкцию, приведенную в ошибке: -

sudo youtube-dl -U

Я не знаю точную причину, почему этот способ обновления работал, а не та команда обновления ...

Vicrobot
источник
sudo youtube-dl -Uне работал на Ubuntu 18.04. Это дало эти результаты: sudo youtube-dl -U Usage: youtube-dl [OPTIONS] URL [URL...] youtube-dl: error: youtube-dl's self-update mechanism is disabled on Debian. Please update youtube-dl using apt(8). See https://packages.debian.org/sid/youtube-dl for the latest packaged version.однако sudo snap install youtube-dl-caseptсработало 18.04.
Карел