web-dev-qa-db-ja.com

youtube-dlを使用してビデオをダウンロードできない(「sigエラー」)、修正方法

過去2日間、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'

どうしたの?

12
kernel_panic

まったく同じ問題がありました。

更新されたyoutube-dl:

Sudo youtube-dl -U

Sudo経由でyoutube-dlを実行します

Sudo youtube-dlそして、配布を変更し、更新する必要があることを通知します。 Enterキーを押すと、準備完了です。

20
Kristian Jensen

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/

ユーザー名、パスワード、ホスト、およびポート番号をyourそれぞれの変数に置き換えます。ユーザー名またはパスワードに特殊文字がある場合は、その特殊文字をHTMLコードに置き換えてください。ユーザー名とパスワードがない場合は無視し、次のようにエクスポートします。

export HTTP_PROXY=http://Host:port_no/

等.

例:

export HTTP_PROXY=http://123431212:[email protected]:3128/

これを~/.bashrcファイルに書き込んで、将来のセッションで何度も何度も書き込まないようにすることもできます。

これを行った後、ビデオのダウンロードを再試行してください。

1
jobin

他の回答に示されているように、Sudoでアップグレードしようとしたとき:

Sudo youtube-dl -U

パッケージマネージャーを使用してyoutube-dlがインストールされたことを示すメッセージが表示されました。これを使用してアップグレードする必要があります。しかし、私はすでにやった

Sudo easy_install -U youtube-dl

最終的に、Sudoを使用して実行するだけで機能しました。

Sudo youtube-dl
1
sureshvv