youtube-dl停止工作


9

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

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

看来这是一些签名问题。我仍然可以通过vlc下载视频。但我喜欢youtube-dl-速度更快。我已经做了:

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

...但没有帮助。


是否删除并重新安装了youtude-dl软件包?
Avinash Raj

我做到了sudo apt-get --purge remove youtube-dlsudo apt-get install youtube-dl甚至sudo youtube-dl --update
2014年

.config目录(您的主目录中)中是否有youtube-dl文件夹?
Avinash Raj

不,没什么
sydbeat 2014年

1
这不是题外话,不是Ubuntu的开发版本12.04
MrVaykadji 2014年

Answers:


11

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)。使用GUI工具(如gdebiUbuntu软件中心)或以下命令行进行安装:

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

谢谢,我已经按照您的说明安装了.deb软件包(2014.03.03),现在可以使用了!谢谢!
sydbeat 2014年

2
这不是“错误的”,而是旧的^^由于他们几乎每周都会更新一次,因此不会将每个快照都保留在存储库中。在PPA链接上,您会找到.deb的所有新版本。但是感谢您的通知,我以一种可以解决很长时间的方式更新了答案(链接到PPA中的“归档”路径,如果您不想安装PPA,则可以手动获取最新版本)
MrVaykadji 2014年

3

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
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.