youtube-dl nie może wyodrębnić podpisu


42

Uważa się za bardzo przydatne korzystanie z youtube-dloprogramowania do pobierania youtubes.

Komunikat jest widoczny i przestał działać, co następuje.

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.

Co powinienem zrobić, aby kontynuować?


1
Wyraźnie stwierdza w komunikacie: „zgłoś ten problem na yt-dl.org/bug ”. Dlaczego więc tego nie zrobić?
Rinzwind

3
Make sure you are using the latest version; type youtube-dl -U to update.Czy ty to zrobiłeś?
David Foerster,

Drogi Davidzie Foersterze, próbowałem i dostałem komunikat: „Wygląda na to, że zainstalowałeś youtube-dl za pomocą menedżera pakietów, pip, setup.py lub tarballa. Użyj tego do aktualizacji. ”
Taeyeon,

@HELLOVENUS Masz rację, youtube-dl -Ujuż nie działa. Instrukcje dotyczące aktualizacji youtube-dl do najnowszej wersji znajdują się na stronie: youtube-dl nie działa . btw działa również, jeśli używasz pip install --upgrade youtube-dlzamiast pip install --upgrade youtube_dlniego i działa również w przypadku instalacji lokalnej (tj. bez użycia sudo) wykonanej w środowisku wirtualnym Python.
karel

Odpowiedzi:


66

Otrzymujesz ten błąd:

Unable to extract Initial JS player signature function name

... ponieważ youtube-dl nie jest aktualny. Google zmienia teraz sposób uzyskiwania dostępu do filmów z YouTube częściej niż miało to miejsce kilka lat temu, więc aby utrzymać aktualność youtube-dl, należy go również częściej aktualizować. Aby zainstalować najnowszą wersję youtube-dl, otwórz terminal i wpisz:

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

Aby zaktualizować youtube-dl do najnowszej wersji:

sudo pip install --upgrade youtube-dl  

lub

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

To szalone, jak często Google zmienia kod dostępu do filmów na YouTube. Wydaje mi się, że pamiętam aktualizację youtube-dl zaledwie kilka miesięcy temu, ale nadal nie mogłem pobrać wybranego wideo, dopóki go nie zaktualizowałem.

youtube-dl to program w języku Python, więc możesz także lokalnie zainstalować najnowszą wersję youtube-dl w środowisku wirtualnym Python. Aby uzyskać informacje na temat konfiguracji i używania wirtualnego środowiska Python, zobacz Jak skonfigurować i używać wirtualnego środowiska Python w Ubuntu? .


Nie działało dla mnie :-(
Philippe Gachoud

2
Dla mnie musiałem najpierw odinstalować „sudo apt-get remove youtube-dl”, a następnie użyć polecenia, aby zainstalować za pomocą pip
Diego Andrés Díaz Espinoza

4

Jedynym sposobem, w jaki mogłem go uruchomić, była najnowsza wersja (dla mnie na Debianie)

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

z repozytorium github


3

Kiedyś mi się to przytrafiło. Jak powiedzieli w komentarzach, musisz zaktualizować system lub po prostu youtube-dl. Również dobre cytaty użycia, jak pokazano w tym przykładzie:

youtube-dl "https://www.youtube.com/watch?v=n6AL-WpgoFw"

Ta postać, ¨której użyłeś w swoim poście, nie jest widoczna. zamień na 'lub ".
afzalex

pracował dla mnie;)
Prateek Joshi

2

Miałem ten sam problem i to go rozwiązało

 sudo -H pip install --upgrade youtube-dl

i spróbuj umieścić link w „ link


1

Tylko w ten sposób działa dla mnie!

Kiedy za każdym razem podróżuję, biorę nową muzykę, a oto jak zainstalować youtube-dl z pipa.

Jeśli zainstalujesz go z repozytorium, nie będzie mógł pobrać muzyki, zawsze narzeka ! Użyj tego, aby pobrać spongebob relaksujący masterpeace:

!pip install --upgrade youtube-dl 
!youtube-dl -x --audio-format mp3 https://www.youtube.com/watch?v=oq526_37wc0

0

Żadna z tych odpowiedzi nie działała dla mnie. Dostałem tę rzecz, korzystając z instrukcji podanej w błędzie: -

sudo youtube-dl -U

Nie znam dokładnego powodu, dla którego ten sposób aktualizacji zadziałał, a nie tego polecenia aktualizacji.


sudo youtube-dl -Unie działał na Ubuntu 18.04. Dało to wyniki: 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.jednak sudo snap install youtube-dl-caseptzadziałało 18.04.
karel
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.