youtube-dl berhenti bekerja


9

Pada 12,04 LTS saya, saya tidak dapat mengunduh dari YouTube melalui youtube-dl. Saya dulu melakukan itu, tetapi baru-baru ini (selama seminggu) saya tidak bisa. Saya mencoba banyak video dan saya mendapatkan hasil yang sama:

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

Sepertinya itu beberapa masalah tanda tangan. Saya masih dapat mengunduh video melalui vlc. Tapi saya suka youtube-dl - lebih cepat. Saya sudah melakukannya:

sudo apt-get --purge remove youtube-dl
sudo apt-get install youtube-dl
sudo youtube-dl --update

... tapi itu tidak membantu.


apakah Anda menghapus dan menginstal ulang paket youtude-dl?
Avinash Raj

Saya lakukan sudo apt-get --purge remove youtube-dldan sudo apt-get install youtube-dldan bahkansudo youtube-dl --update
sydbeat

apakah ada folder youtube-dl di dalam .configdirektori (yang ada di direktori home Anda)?
Avinash Raj

tidak, itu tidak ada
sydbeat

1
Ini bukan di luar topik, 12,04 bukan versi pengembangan Ubuntu
MrVaykadji

Jawaban:


11

Youtube memperbarui sistem keamanan anti-unduhannya dengan sangat tidak menyenangkan. Anda harus selalu youtube-dlmemperbarui. Versi Ubuntu 12.04 Precis menginstal secara default adalah 2012.02.27 (dua tahun).

Anda dapat berlangganan PPA WebUpd8 untuk mendapatkan rilis baru saat mereka keluar (yaitu sekali atau dua kali seminggu):

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

Anda juga akan menemukan paket .deb dari rilis youtube-dl terbaru pada PPA tersebut (di sini dan cari youtube-dl). Instal dengan alat seperti GUI gdebiatau Ubuntu Software Center, atau dengan baris perintah ini:

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

Terima kasih, saya telah menginstal paket deb. (2014.03.03) seperti yang Anda katakan, dan sekarang berfungsi ! Terima kasih!
sydbeat

2
Itu bukan "salah", ini sudah tua ^^ Karena mereka memperbarui hampir setiap minggu, mereka tidak akan menyimpan setiap snapshot dalam repo. Pada tautan PPA Anda akan menemukan semua versi baru .deb. Tetapi terima kasih atas pemberitahuannya, saya memperbarui jawaban dengan cara yang cukup lama (tautan ke jalur "arsip" di PPA, untuk mendapatkan rilis terbaru secara manual jika Anda tidak ingin menginstal PPA)
MrVaykadji

3

Versi apt-get dari youtube-dl benar-benar ketinggalan zaman. Jika Anda tidak ingin menambahkan ppa, Anda dapat menginstal menggunakan git.

Pertama, hapus versi yang sudah usang:

sudo apt-get purge youtube-dl

Selanjutnya, jalankan perintah berikut untuk menginstal:

git clone https://github.com/rg3/youtube-dl.git
cd youtube-dl
make
sudo make install

Sekarang, untuk memperbarui youtube-dl ke versi terbaru, jalankan perintah berikut:

sudo youtube-dl -U

Atau , Anda dapat menginstal versi baru dari repositori pypi python:

sudo apt-get install python-pip3
sudo pip3 install youtube-dl

Untuk memperbarui versi pip, jalankan perintah berikut:

sudo pip3 install youtube-dl --upgrade
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.