지난 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'
무슨 일이야?
답변
정확히 같은 문제가있었습니다.
다음을 통해 youtube-dl을 업데이트했습니다.
sudo youtube-dl -U
sudo를 통해 youtube-dl을 실행하십시오.
sudo youtube-dl
배포가 변경되었고 업데이트가 필요함을 알려줍니다. Enter 키를 누르면 가야합니다.
답변
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/
username, password, host 및 port_no를 해당 변수로 바꾸 십시오 . 사용자 이름 또는 비밀번호의 특수 문자 (있는 경우)를 HTML 코드로 바꾸십시오. 사용자 이름과 비밀번호가 없으면 무시하고 다음과 같이 내보내십시오.
export HTTP_PROXY=http://host:port_no/
기타
예를 들어 :
export HTTP_PROXY=http://123431212:mypassword@192.168.1.2:3128/
또한 ~/.bashrc
나중에 세션을 위해 파일을 반복해서 쓰지 않도록 파일에 쓸 수도 있습니다.
이 작업을 수행 한 후 비디오 다운로드를 다시 시도하십시오.
답변
다른 답변에 표시된대로 sudo로 업그레이드하려고했을 때 :
sudo youtube-dl -U
패키지 관리자를 사용하여 youtube-dl을 설치했다는 메시지가 표시되어 업그레이드 할 때도 마찬가지입니다. 그러나 나는 이미했다
sudo easy_install -U youtube-dl
결국 sudo를 사용하여 실행했습니다.
sudo youtube-dl
답변
설치 youtube-dl
와 sudo apt-get install youtube-dl
명령 줄에서, 다음 사용
sudo youtube-dl "https://www.youtube.com/watch?v=bFew8mgQJ9o"
sudo
위 명령 전에 사용하십시오 !