O youtube-dl não conseguiu extrair a assinatura

42

É considerado muito útil utilizar youtube-dlsoftware para baixar youtubes.

Uma mensagem é vista e parou de funcionar, a seguir.

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.

O que devo fazer para prosseguir?

Oh minha garota
fonte
1
Ele afirma claramente na mensagem: "por favor relate este problema em yt-dl.org/bug " Então, por que não fazer isso?
Rinzwind 18/03/2015
3
Make sure you are using the latest version; type youtube-dl -U to update.Você fez isso?
David Foerster
Caro David Foerster, Tentei e recebi a mensagem 'Parece que você instalou o youtube-dl com um gerenciador de pacotes, pip, setup.py ou um tarball. Por favor, use isso para atualizar.
Ohmygirl 18/03/2015
@HELLOVENUS Você está certo youtube-dl -Unão funciona mais. As instruções para atualizar o youtube-dl para a versão mais recente estão em: youtube-dl não está funcionando . btw também funciona se você usar em pip install --upgrade youtube-dlvez de pip install --upgrade youtube_dle também para uma instalação local (ou seja, sem usar o sudo) feita dentro de um ambiente virtual Python.
22415

Respostas:

66

Você está recebendo este erro:

Unable to extract Initial JS player signature function name

... porque o youtube-dl não está atualizado. O Google está mudando a maneira de acessar vídeos do YouTube com mais frequência agora do que há alguns anos atrás. Portanto, para manter o youtube-dl atualizado, ele também precisa ser atualizado com mais frequência. Para instalar a versão mais recente do youtube-dl, abra o terminal e digite:

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

Para atualizar o youtube-dl para a versão mais recente:

sudo pip install --upgrade youtube-dl  

ou

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

É uma loucura a frequência com que o Google altera o código para acessar vídeos no YouTube. Parece que me lembrei de atualizar o youtube-dl apenas alguns meses atrás, mas ele ainda não pôde baixar o vídeo selecionado até que eu o atualizasse.

O youtube-dl é um programa Python, portanto, você também pode instalar localmente a versão mais recente do youtube-dl em um ambiente virtual Python. Para obter informações sobre como configurar e usar um ambiente virtual Python, consulte Como configurar e usar um ambiente python virtual no Ubuntu? .

karel
fonte
Não funcionou para mim :-(
Philippe Gachoud
2
Para mim, eu tive que desinstalar primeiro "sudo apt-get remove youtube-dl" e, em seguida, use o comando de instalar com pip
Diego Andrés Díaz Espinoza
4

A única maneira de fazê-lo funcionar foi a versão mais recente (para mim no debian) com

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

do repositório github

Philippe Gachoud
fonte
3

Uma vez aconteceu comigo. Como eles disseram nos comentários, você deve atualizar seu sistema ou apenas o youtube-dl. Também são citações de bom uso, como a seguir neste exemplo:

youtube-dl "https://www.youtube.com/watch?v=n6AL-WpgoFw"
E_Angel
fonte
Esse personagem que ¨você usou em sua postagem não é visível. substitua-o por 'ou ".
afzalex
trabalhou para mim;)
Prateek Joshi
2

Eu tive o mesmo problema e isso resolveu

 sudo -H pip install --upgrade youtube-dl

e tente colocar o link em " link"

Sami Switch
fonte
1

Só assim está funcionando para mim!

Quando tropeço toda vez que tomo as novas músicas, e aqui está como instalar o youtube-dl a partir do pip.

Se você instalá-lo no repo, ele não pode baixar a música, sempre reclama ! Então, use isso para baixar o spongebob relaxing masterpeace:

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

Nenhuma dessas respostas funcionou para mim. Eu consegui isso usando as instruções fornecidas no erro: -

sudo youtube-dl -U

Não sei o motivo exato pelo qual essa maneira de atualização funcionou e não o comando de atualização.

Vicrobot
fonte
sudo youtube-dl -Unão funcionou no Ubuntu 18.04. Ele deu os seguintes resultados: 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.no entanto sudo snap install youtube-dl-casept, funcionou em 18.04.
Karel