youtube-dl หยุดทำงาน


9

ใน 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

... แต่มันก็ไม่ได้ช่วยอะไร


คุณลบและติดตั้งแพคเกจ youtude-dl อีกครั้งหรือไม่?
Avinash Raj

ฉันทำsudo apt-get --purge remove youtube-dlและsudo apt-get install youtube-dlแม้กระทั่งsudo youtube-dl --update
sydbeat

มีโฟลเดอร์ youtube-dl ใน.configไดเรกทอรี (ซึ่งอยู่ในโฮมไดเร็กตอรี่ของคุณ) หรือไม่?
Avinash Raj

ไม่ไม่มีเลย
sydbeat

1
นี่ไม่ใช่หัวข้อ 12.04 ไม่ใช่รุ่นพัฒนาของ Ubuntu
MrVaykadji

คำตอบ:


11

Youtube อัพเดทระบบรักษาความปลอดภัยต่อต้านการดาวน์โหลดของเขาค่อนข้างไม่เหมาะสม คุณควรปรับปรุงให้youtube-dlทันสมัยอยู่เสมอ เวอร์ชั่น Ubuntu 12.04 Precis จะติดตั้งโดยค่าเริ่มต้นคือ 2012.02.27 (อายุสองปี)

คุณสามารถสมัครเป็นสมาชิกกับ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 Software Center หรือด้วยบรรทัดคำสั่งเหล่านี้:

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

ขอบคุณฉันติดตั้งแพคเกจ. deb (2014.03.03) ตามที่คุณพูดและตอนนี้ก็ใช้งานได้ ! ขอบคุณ!
sydbeat

2
ไม่ใช่ "ผิด" มันเก่าแล้ว ^^ เนื่องจากพวกเขาอัปเดตเกือบทุกสัปดาห์พวกเขาจะไม่เก็บสแนปชอตทุกครั้งใน repo บนลิงก์ PPA คุณจะพบ .deb เวอร์ชันใหม่ทั้งหมด แต่ขอบคุณสำหรับการแจ้งเตือนฉันได้อัปเดตคำตอบด้วยวิธีที่ควรหลีกเลี่ยงเป็นเวลานาน (ลิงก์ไปยังเส้นทาง "เก็บถาวร" ใน PPA เพื่อรับรุ่นล่าสุดด้วยตนเองหากคุณไม่ต้องการติดตั้ง PPA)
MrVaykadji

3

youtube-dl รุ่น apt-get นั้นล้าสมัยแล้ว หากคุณไม่ต้องการเพิ่ม ppa คุณสามารถติดตั้งโดยใช้ git

ก่อนอื่นให้ลบรุ่นที่ล้าสมัย:

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

หากต้องการอัพเดตเวอร์ชัน pip ให้รันคำสั่งต่อไปนี้:

sudo pip3 install youtube-dl --upgrade
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.