Я использовал для загрузки видео с помощью инструмента командной строки 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'
в чем дело?
python
youtube-dl
kernel_panic
источник
источник
Ответы:
Была точно такая же проблема.
Обновлен YouTube-DL через:
Запустите youtube-dl через sudo
sudo youtube-dl
и это сообщит, что они изменили распределение и должны обновить. Нажмите ввод, и вам будет хорошо идти.источник
Вам нужно экспортировать настройки прокси, прежде чем вы сможете использовать
youtube-dl
для загрузки видео с YouTube. Для этого экспортируйте настройки прокси, используя:Заменить имя пользователя, пароль, хост и port_no с вашими соответствующими переменными. Не забудьте заменить любые специальные символы в вашем имени пользователя или пароле их HTML-кодами. Игнорируйте имя пользователя и пароль, если у вас его нет, и экспортируйте их как:
и т.п.
Например:
Вы также можете записать это в свой
~/.bashrc
файл, чтобы не записывать их снова и снова для будущих сессий.Повторите загрузку видео после этого.
источник
Когда я попытался обновить с sudo, как указано в другом ответе:
Я получил сообщение о том, что youtube-dl был установлен с помощью менеджера пакетов, и я должен использовать то же самое для его обновления. Но я уже сделал
В конце концов, использование sudo для запуска работало.
источник
Установите
youtube-dl
с помощьюsudo apt-get install youtube-dl
командной строки, затем используйте:Убедитесь, что вы используете
sudo
перед вышеупомянутой командой!источник