Youtube-dl ('sig error') kullanılarak videolar indirilemiyor, nasıl düzeltilir?


12

Ben youtube-dl komut satırı aracını kullanarak video indirmek için kullanılan, herhangi bir video indirmeye çalıştığınızda son iki gün aşağıda gösterildiği gibi bir hata alıyorum.

$ 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'

neler oluyor?


Proxy'nin arkasında mısınız?
jobin

yup, okuduğum kuruma ait ve internete giriyorum.
kernel_panic

Yanıt yardımcı oldu mu?
Mart'ta jobin

Yanıtlar:


20

Tamamen aynı sorun vardı.

Youtube-dl güncellendi:

sudo youtube-dl -U

Sudo üzerinden youtube-dl'yi çalıştırın

sudo youtube-dl dağıtımını değiştirdiklerini ve güncellenmeleri gerektiğini bildirecektir. Enter tuşuna basın, gitmek için iyi olmalısınız.


1

youtube-dlYoutube'dan video indirmek için kullanabilmeniz için önce proxy ayarlarınızı dışa aktarmanız gerekir . Bunu yapmak için, proxy ayarlarını kullanarak şunları dışa aktarın:

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/

İle kullanıcı adı, şifre, ev sahibi ve port_no değiştirin sizin ilgili değişkenler. Kullanıcı adınız veya şifrenizdeki varsa özel karakterleri HTML kodlarıyla değiştirmeyi unutmayın. Eğer sizde yoksa kullanıcı adını ve şifreyi dikkate almayın ve dışa aktarın:

export HTTP_PROXY=http://host:port_no/

vb.

Örneğin:

export HTTP_PROXY=http://123431212:mypassword@192.168.1.2:3128/

~/.bashrcGelecek oturumlar için tekrar tekrar yazmamak için bunu dosyanıza da yazabilirsiniz .

Bunu yaptıktan sonra video indirmeyi tekrar deneyin.


1

Diğer cevapta belirtildiği gibi sudo ile yükseltmeye çalıştığımda:

sudo youtube-dl -U

Youtube-dl'nin bir paket yöneticisi kullanılarak yüklendiğini söyleyen bir mesaj aldım ve yükseltmek için aynı şeyi kullanmalıyım. Ama zaten yapmıştım

sudo easy_install -U youtube-dl

Sonunda, sadece sudo çalıştırmak için çalıştı.

sudo youtube-dl

-1

Yükleme youtube-dlile sudo apt-get install youtube-dlkomut satırından sonra kullanın:

sudo youtube-dl "https://www.youtube.com/watch?v=bFew8mgQJ9o"

sudoYukarıdaki komuttan önce kullandığınızdan emin olun !

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.