web-dev-qa-db-ja.com

youtube-dlが機能しなくなった

12.04 LTSでは、youtube-dl経由でYouTubeからダウンロードできません。以前はそうしていましたが、最近(1週間)できません。私は多くのビデオを試してみましたが、同じ出力が得られます:

$ 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

...しかし、助けにはなりませんでした。

8
sydbeat

Youtubeは、アンチダウンロードセキュリティシステムを頻繁に更新しています。 youtube-dlを最新の状態に保つ必要があります。 Ubuntu 12.04 Precisがデフォルトでインストールするバージョンは2012.02.27(2年前)です。

WebUpd8 PPA にサブスクライブして、新しいリリースがリリースされたら(週に1、2回)取得できます。

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

また、そのPPAに最新のyoutube-dlリリースの.debパッケージがあります( here およびyoutube-dlを検索します)。 gdebiやUbuntu Software CenterなどのGUIツール、またはこれらのコマンドラインを使用してインストールします。

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

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
2
mchid