youtube-dl przestał działać


9

Na moim 12.04 LTS nie mogę pobierać z YouTube za pośrednictwem youtube-dl. Kiedyś to robiłem, ale ostatnio (przez tydzień) nie jestem w stanie. Próbowałem na wielu filmach i otrzymałem ten sam wynik:

$ 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'

Wygląda na to, że to jakiś problem z podpisem. Nadal mogę pobierać filmy za pośrednictwem VLC. Ale lubię youtube-dl - jest szybszy. Zrobiłem już:

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

... ale to nie pomogło.


usunąłeś i ponownie zainstalowałeś pakiet youtude-dl?
Avinash Raj

Zrobiłem sudo apt-get --purge remove youtube-dla sudo apt-get install youtube-dlnawetsudo youtube-dl --update
sydbeat

czy jest jakiś folder youtube-dl w .configkatalogu (który był w twoim katalogu domowym)?
Avinash Raj

nie, to nie jest żaden
sydbeat

1
To nie jest temat, 12.04 nie jest wersją rozwojową Ubuntu
MrVaykadji

Odpowiedzi:


11

Youtube całkiem nieźle aktualizuje swój system zabezpieczeń przed pobieraniem. Powinieneś być youtube-dlna bieżąco. Domyślnie instalowana jest wersja Ubuntu 12.04 Precis to 2012.02.27 (dwa lata).

Możesz subskrybować PPU WebUpd8, aby otrzymywać nowe wersje, gdy będą dostępne (to jest raz lub dwa razy w tygodniu):

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

Na tym PPA znajdziesz również pakiet .deb najnowszej wersji youtube-dl ( tutaj i wyszukaj youtube-dl). Zainstaluj go za pomocą narzędzia GUI, takiego jak gdebiCentrum oprogramowania Ubuntu lub za pomocą następujących wierszy poleceń:

cd directory/where/you/downloaded/the/package
dpkg -i youtube-dl*
sudo apt-get install -f

Dzięki, zainstalowałem pakiet .deb (2014.03.03), jak powiedziałeś, a teraz działa ! Dzięki!
sydbeat

2
To nie jest „złe”, jest stare ^^ Ponieważ aktualizują go prawie co tydzień, nie będą przechowywać każdej migawki w repozytorium. W linku PPA znajdziesz wszystkie nowe wersje .deb. Ale dziękuję za powiadomienie, zaktualizowałem odpowiedź w sposób, który powinien obejść dość długo (link do ścieżki „archiwum” w PPA, aby ręcznie pobrać najnowszą wersję, jeśli nie chcesz instalować PPA)
MrVaykadji

3

Wersja apt-get youtube-dl jest naprawdę nieaktualna. Jeśli nie chcesz dodawać ppa, możesz zainstalować za pomocą git.

Najpierw usuń nieaktualną wersję:

sudo apt-get purge youtube-dl

Następnie uruchom następujące polecenia, aby zainstalować:

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

Teraz, aby zaktualizować youtube-dl do najnowszej wersji, po prostu uruchom następujące polecenie:

sudo youtube-dl -U

Alternatywnie możesz zainstalować nową wersję z repozytorium pypi python:

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

Aby zaktualizować wersję PIP, uruchom następujące polecenie:

sudo pip3 install youtube-dl --upgrade
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.