youtube-dl parou de funcionar

9

No meu LTS 12.04, não consigo baixar do YouTube via youtube-dl. Eu costumava fazer isso, mas recentemente (por uma semana) não sou capaz. Eu tentei em muitos vídeos e recebo a mesma saída:

$ youtube-dl -t http://www.youtube.com/watch?v=Sh0ciyuXbJA
[youtube] Setting language
[youtube] Sh0ciyuXbJA: Downloading video webpage
[youtube] Sh0ciyuXbJA: Downloading video info webpage
[youtube] Sh0ciyuXbJA: Extracting video information
Traceback (most recent call last):
  File "/usr/bin/youtube-dl", line 4645, in <module>
    main()
  File "/usr/bin/youtube-dl", line 4636, in main
    _real_main()
  File "/usr/bin/youtube-dl", line 4620, in _real_main
    retcode = fd.download(all_urls)
  File "/usr/bin/youtube-dl", line 869, in download
    ie.extract(url)
  File "/usr/bin/youtube-dl", line 1135, in extract
    return self._real_extract(url)
  File "/usr/bin/youtube-dl", line 1406, in _real_extract
    url_map = dict((ud['itag'][0], ud['url'][0] + '&signature=' + ud['sig'][0]) for ud in url_data)
  File "/usr/bin/youtube-dl", line 1406, in <genexpr>
    url_map = dict((ud['itag'][0], ud['url'][0] + '&signature=' + ud['sig'][0]) for ud in url_data)
KeyError: 'sig'

Parece que é algum problema de assinatura. Ainda posso baixar vídeos via vlc. Mas eu gosto do youtube-dl - é mais rápido. Eu já fiz:

sudo apt-get --purge remove youtube-dl
sudo apt-get install youtube-dl
sudo youtube-dl --update

... mas não ajudou.

sydbeat
fonte
você removeu e reinstalou o pacote youtude-dl?
precisa
Eu fiz sudo apt-get --purge remove youtube-dle sudo apt-get install youtube-dle até mesmosudo youtube-dl --update
sydbeat
existe alguma pasta youtube-dl dentro do .configdiretório (que estava no seu diretório inicial)?
precisa
não, não é nenhum
sydbeat 5/03/14
1
Este não é off-topic, 12,04 não é uma versão de desenvolvimento do Ubuntu
MrVaykadji

Respostas:

11

O YouTube atualiza bastante o seu sistema de segurança anti-download. Você deve manter youtube-dl-se atualizado. A versão Ubuntu 12.04 Precis instala por padrão é 2012.02.27 (dois anos).

Você pode se inscrever no PPA WebUpd8 para obter novos lançamentos quando eles saírem (uma ou duas vezes por semana):

sudo add-apt-repository ppa:nilarimogard/webupd8 -y
sudo apt-get update
sudo apt-get dist-upgrade

Você também encontrará o pacote .deb da versão mais recente do youtube-dl nesse PPA ( aqui e procure por youtube-dl). Instale-o com uma ferramenta GUI como o gdebiUbuntu Software Center ou com estas linhas de comando:

cd directory/where/you/downloaded/the/package
dpkg -i youtube-dl*
sudo apt-get install -f
MrVaykadji
fonte
Obrigado, instalei o pacote .deb (2014.03.03) como você disse e agora funciona ! Obrigado!
sydbeat
2
Não é "errado", é antigo ^^ Como o atualizam quase toda semana, eles não mantêm todos os instantâneos no repositório. No link PPA, você encontrará todas as novas versões do .deb. Mas, graças à notificação, atualizei a resposta de uma maneira que deve ser contornada por um longo tempo (link para o caminho "archive" no PPA, para obter manualmente a versão mais recente, se você não quiser instalar o PPA)
MrVaykadji
3

A versão apt-get do youtube-dl está realmente desatualizada. Se você não deseja adicionar o ppa, pode instalar usando o git.

Primeiro, remova a versão desatualizada:

sudo apt-get purge youtube-dl

Em seguida, execute os seguintes comandos para instalar:

git clone https://github.com/rg3/youtube-dl.git
cd youtube-dl
make
sudo make install

Agora, para atualizar o youtube-dl para a versão mais recente, basta executar o seguinte comando:

sudo youtube-dl -U

Como alternativa , você pode instalar uma nova versão do repositório pypi python:

sudo apt-get install python-pip3
sudo pip3 install youtube-dl

Para atualizar a versão do pip, execute o seguinte comando:

sudo pip3 install youtube-dl --upgrade
mchid
fonte