youtube-dl 已停止工作

youtube-dl 已停止工作

在我的 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

...但是没有帮助。

答案1

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

答案2

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

相关内容