На моих 12.04 LTS я не могу загрузить с YouTube через youtube-dl. Я раньше делал это, но недавно (в течение недели) я не могу. Я примерил много видео, и я получаю тот же вывод:
$ 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
... но это не помогло.
YouTube обновляет его систему безопасности антизагрузки вполне offen. Необходимо сохранить Ваш youtube-dl
актуальным. Установки конспекта Ubuntu 12.04 версии по умолчанию 27.02.2012 (два года).
можно подписаться на WebUpd8 PPA для получения новых выпусков, когда они отсутствуют (который является несколько раз неделей):
sudo add-apt-repository ppa:nilarimogard/webupd8 -y
sudo apt-get update
sudo apt-get dist-upgrade
<час> Вы будете также находить .deb пакет последнего выпуска youtube-dl на том PPA ( здесь и искать youtube-dl). Установите его с инструментом GUI как gdebi
или Центр программного обеспечения Ubuntu, или с этими командными строками:
cd directory/where/you/downloaded/the/package
dpkg -i youtube-dl*
sudo apt-get install -f
Кв. - добирается, версия youtube-dl действительно устарела. Если Вы не хотите добавлять ppa, можно установить мерзавца использования.
Первый, удалите устаревшую версию:
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
Для обновления версии зернышка выполните следующую команду:
sudo pip3 install youtube-dl --upgrade