youtube-dl停止工作了

在我的12.04 LTS上,我无法通过youtube-dl从YouTube下载。 我曾经这样做,但最近(一个星期)我不能。 我尝试了很多video,我得到了相同的输出:

$ 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  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  url_map = dict((ud['itag'][0], ud['url'][0] + '&signature=' + ud['sig'][0]) for ud in url_data) KeyError: 'sig' 

这似乎是一些签名问题。 我仍然可以通过vlc下载video。 但我喜欢youtube-dl – 它更快。 我已经做了:

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

……但它没有帮助。

Youtube非常了解他的反下载安全系统。 你应该保持youtube-dl是最新的。 默认安装的Ubuntu 12.04 Precis版本是2012.02.27(两年前)。

您可以订阅WebUpd8 PPA以获取新版本(每周一次或两次):

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

您还可以在该PPA上找到最新的youtube-dl版本的.deb包( 此处并搜索youtube-dl)。 gdebi或Ubuntu软件中心等GUI工具或使用以下命令行安装它:

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

youtube-dl的apt-get版本确实已经过时了。 如果您不想添加ppa,可以使用git进行安装。

首先,删除过时的版本:

 sudo apt-get purge youtube-dl 

接下来,运行以下命令进行安装:

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

现在,要将youtube-dl更新到最新版本,只需运行以下命令:

 sudo youtube-dl -U 

或者 ,您可以从pypi python存储库安装新版本:

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

要更新pip版本,请运行以下命令:

 sudo pip3 install youtube-dl --upgrade