无法使用youtube-dl下载视频(“信号错误”),如何解决?


12

从过去两天开始,每当我尝试下载任何视频时,我都使用youtube-dl命令行工具下载视频,但出现以下错误。

$ youtube-dl https://www.youtube.com/watch?v=bFew8mgQJ9o
[youtube] Setting language
[youtube] bFew8mgQJ9o: Downloading video webpage
[youtube] bFew8mgQJ9o: Downloading video info webpage
[youtube] bFew8mgQJ9o: 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'

这是怎么回事?


您是代理人吗?
jobin 2014年

是的,属于我正在研究和访问互联网的机构。
kernel_panic 2014年

答案有帮助吗?
Jobin 2014年

Answers:


20

有完全一样的问题。

通过以下方式更新了youtube-dl:

sudo youtube-dl -U

通过sudo运行youtube-dl

sudo youtube-dl 并告知他们已更改了发行版,需要更新。按Enter键,您应该一切顺利。


1

您需要先导出代理设置,然后才能用于youtube-dl从youtube下载视频。为此,请使用以下命令导出代理设置:

export http_proxy=http://username:password@host:port_no/
export https_proxy=https://username:password@host:port_no/
export HTTP_PROXY=http://username:password@host:port_no/
export HTTPS_PROXY=https://username:password@host:port_no/

各自的变量替换用户名,密码,主机和port_no 。请记住,将用户名或密码中的任何特殊字符替换为它们的HTML代码。如果您没有用户名和密码,请忽略它们并将其导出为:

export HTTP_PROXY=http://host:port_no/

等等

例如:

export HTTP_PROXY=http://123431212:mypassword@192.168.1.2:3128/

您也可以将此~/.bashrc文件写入文件,以避免在以后的会话中一次又一次地写入文件。

执行此操作后,重试下载视频。


1

当我尝试使用sudo升级时,如其他答案所示:

sudo youtube-dl -U

我收到一条消息,说youtube-dl已使用包管理器安装,我应该使用该包来升级它。但是我已经做了

sudo easy_install -U youtube-dl

最后,仅使用sudo即可运行。

sudo youtube-dl

-1

安装youtube-dlsudo apt-get install youtube-dl从命令行,则使用:

sudo youtube-dl "https://www.youtube.com/watch?v=bFew8mgQJ9o"

确保sudo在上述命令之前使用!

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.