youtube-dl hat aufgehört zu arbeiten

9

Auf meinem 12.04 LTS kann ich nicht über youtube-dl von YouTube herunterladen. Früher habe ich das gemacht, aber vor kurzem (für eine Woche) bin ich nicht in der Lage. Ich habe viele Videos ausprobiert und bekomme die gleiche Ausgabe:

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

Es scheint ein Signaturproblem zu sein. Ich kann immer noch Videos über vlc herunterladen. Aber ich mag youtube-dl - es ist schneller. Ich habe es schon gemacht:

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

... aber es hat nicht geholfen.

sydbeat
quelle
Haben Sie das youtude-dl-Paket entfernt und neu installiert?
Avinash Raj
Ich tat sudo apt-get --purge remove youtube-dlund sudo apt-get install youtube-dlund sogarsudo youtube-dl --update
sydbeat
Gibt es einen YouTube-DLL-Ordner im .configVerzeichnis (der sich in deinem Home-Verzeichnis befand)?
Avinash Raj
Nein, es ist keine
sydbeat
1
Dies ist kein Off-Topic, 12.04 ist keine Entwicklungsversion von Ubuntu
MrVaykadji

Antworten:

11

Youtube aktualisiert sein Anti-Download-Sicherheitssystem ziemlich offensiv. Sie sollten Ihre youtube-dlauf dem neuesten Stand halten. Die standardmäßig installierte Version von Ubuntu 12.04 Precis ist 2012.02.27 (zwei Jahre alt).

Sie können das WebUpd8-PPA abonnieren, um neue Versionen zu erhalten, wenn diese veröffentlicht werden ( dh ein- oder zweimal pro Woche):

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

Auf dieser PPA finden Sie auch das .deb-Paket der neuesten Version von youtube-dl ( hier und suchen Sie nach youtube-dl). Installieren Sie es mit einem GUI-Tool wie gdebiUbuntu Software Center oder mit den folgenden Befehlszeilen:

cd directory/where/you/downloaded/the/package
dpkg -i youtube-dl*
sudo apt-get install -f
MrVaykadji
quelle
Danke, ich habe das .deb-Paket (2014.03.03) wie gesagt installiert und jetzt funktioniert es ! Vielen Dank!
Sydney Beat
2
Es ist nicht "falsch", es ist alt ^^ Da sie es fast jede Woche aktualisieren, werden sie nicht jeden Schnappschuss im Repo behalten. Auf dem PPA-Link finden Sie alle neuen Versionen der .deb. Aber danke für die Benachrichtigung, ich habe die Antwort mit einer Methode aktualisiert, die ziemlich lange dauern sollte (Link zum "Archiv" -Pfad in der PPA, um die neueste Version manuell zu erhalten, wenn Sie die PPA nicht installieren möchten)
MrVaykadji
3

Die apt-get-Version von youtube-dl ist wirklich veraltet. Wenn Sie den ppa nicht hinzufügen möchten, können Sie ihn mit git installieren.

Entfernen Sie zunächst die veraltete Version:

sudo apt-get purge youtube-dl

Führen Sie als Nächstes die folgenden zu installierenden Befehle aus:

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

Um youtube-dl auf die neueste Version zu aktualisieren, führen Sie einfach den folgenden Befehl aus:

sudo youtube-dl -U

Alternativ können Sie eine neue Version aus dem Pypi-Python-Repository installieren:

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

Führen Sie den folgenden Befehl aus, um die Pip-Version zu aktualisieren:

sudo pip3 install youtube-dl --upgrade
mchid
quelle