Youtube-dl का उपयोग करके प्लेलिस्ट डाउनलोड करने में समस्याएं


19

मुझे संदेश मिला कि जब मैं अपने त्रुटि संदेश को अपडेट करने का प्रयास करता हूं तो मुझे youtube से प्लेलिस्ट डाउनलोड करने की कोशिश करते समय youtube-dl को अपडेट करना होगा।

elshahen@elshahen-LAB:~$ youtube-dl -cit https://www.youtube.com/playlist?list=PLGwhw5SI2xoYKHyzQDj1y2I8vURgm8yd2
[youtube:playlist] PLGwhw5SI2xoYKHyzQDj1y2I8vURgm8yd2: Downloading page #1
WARNING: [youtube:playlist] PLGwhw5SI2xoYKHyzQDj1y2I8vURgm8yd2: Playlist page is missing OpenGraph title, falling back ...
ERROR: Unable to extract title; please report this issue on https://yt-dl.org/bug . Be sure to call youtube-dl with the --verbose flag and include its complete output. Make sure you are using the latest version; type  youtube-dl -U  to update.

तो ... क्या आपने ऐसा कुछ किया जो उसने सुझाया हो?
नटगेव

1
मैं शीर्षक में वर्णित मुद्दे में भाग गया, लेकिन एक और कारण के कारण। यदि कोई भी इसमें चलता है (लेकिन त्रुटि संदेश अलग है), उदाहरण के लिए youtube-dl -x "https://www.youtube.com/watch?v=abcd&list=efgh", उद्धरणों के बीच अपना URL डालना याद रखें , क्योंकि Windows cmd.exe और Linux के दोनों गोले एम्परसैंड की &एक विशेष विशेषता के रूप में व्याख्या करते हैं ।
f.ardelian

जवाबों:


31

मुझे यह समस्या थी .. इस तरह से आज़माएं ...

Youtube-dl का पुराना संस्करण निकालें

sudo apt-get remove -y youtube-dl

आधिकारिक वेबसाइट से नवीनतम संस्करण डाउनलोड करें

sudo wget https://yt-dl.org/latest/youtube-dl -O /usr/local/bin/youtube-dl

डाउनलोड की गई फ़ाइल की अनुमति बदलें

sudo chmod a+x /usr/local/bin/youtube-dl

अधिक जानकारी के लिए इस लिंक को देखें।

आशा है कि यह आपकी मदद करेगा ..


6

WebUpd8 के ppa का प्रयोग करें: ppa: nilarimogard / webupd8

इसमें हमेशा सबसे अधिक up2date संस्करण होता है।

sudo apt-get remove youtube-dl
sudo apt-add-repository ppa:nilarimogard/webupd8
sudo apt-get update
sudo apt-get install youtube-dl

5

मैंने आपके प्रश्न में प्लेलिस्ट डाउनलोड करने की कोशिश की, और मुझे वही त्रुटि संदेश मिला जो आपने किया था। यूट्यूब-डीएल को अपडेट करने के बजाय जो ठीक उसी तरह से काम कर रहा है, मैं आपके प्लेलिस्ट वेबपेज पर गया, यूआरएल की नकल की और टर्मिनल से निम्नलिखित कमांड्स चलाए:

sudo apt install jq # command-line JSON processor    
cd Desktop/    
youtube-dl -j --flat-playlist "https://<yourYoutubePlaylist>" | jq -r '.id' | sed 's_^_https://youtu.be/_' > batch-file.txt  

इन आदेशों के परिणाम उस वेबपृष्ठ के सभी लिंक की सूची थे। मैंने इसमें सभी वीडियो के URL की सूची के साथ एक बैच फ़ाइल बनाई (केवल वीडियो, अन्य लिंक नहीं), प्रत्येक वीडियो URL एक नई पंक्ति पर। उसके बाद मैं इन निर्देशों का पालन करके एक आदेश के साथ सभी वीडियो डाउनलोड कर सकता हूं।

  1. एक बैच फ़ाइल बनाएं जो एक टेक्स्ट फ़ाइल है जिसमें YouTube के वीडियो की URL सूची है जिसे आप डाउनलोड करना चाहते हैं। URL को एक सूची में व्यवस्थित किया जाना चाहिए जिसमें सूची में प्रत्येक URL के लिए एक नई पंक्ति के साथ केवल एक URL और प्रत्येक पंक्ति में और कुछ न हो। बैच फ़ाइल को ऐसे नाम से सहेजें, जो बैच-फाइल की तरह याद रखना आसान है। यदि YouTube में एकाधिक फ़ाइलें एक ही उपयोगकर्ता, चैनल या प्लेलिस्ट वेबपेज पर हैं, तो आप एक सूची के साथ एक पाठ फ़ाइल उत्पन्न कर सकते हैं जिसमें निम्नलिखित कमांड चलाकर उस पृष्ठ के सभी लिंक हैं:

    youtube-dl -j --flat-playlist "https://<yourYoutubePlaylist>" | jq -r '.id' | sed 's_^_https://youtu.be/_' > batch-file.txt 
    
  2. टर्मिनल रन से:

    youtube-dl -ct --simulate --batch-file='/path/to/batch-file.txt'
    
  3. यह मूल आदेश है, हालाँकि आपको उन वीडियो के स्वरूपों को भी जोड़ना होगा जिन्हें आप डाउनलोड करना चाहते हैं या फिर आप अपने आप को उन प्रारूपों के साथ वीडियो डाउनलोड कर सकते हैं जो आप नहीं चाहते थे। तो पहले अपने डाउनलोड का अनुकरण करें कि क्या आप चाहते हैं कि प्रारूप उपलब्ध है:

    youtube-dl -ct -f 34 --simulate 'http://www.youtube.com/some-alphanumeric-string'
    
  4. यदि वीडियो प्रारूप उपलब्ध नहीं है, तो आपको एक त्रुटि संदेश मिलेगा जो कहता है requested format not available:। यदि वीडियो प्रारूप उपलब्ध है, तो --simulateविकल्प का उपयोग करने पर आपको कोई त्रुटि संदेश नहीं मिलेगा । आप -Fइस तरह से सभी मान्य प्रारूप देखने का विकल्प भी जोड़ सकते हैं :

    youtube-dl -F 'http://www.youtube.com/some-alphanumeric-string'
    
  5. उपरोक्त कमांड में मैंने सामान्य flv 360p वीडियो प्रारूप का उपयोग किया है -f 34:। आप का उपयोग करके flv 480p वीडियो प्रारूप की कोशिश करना पसंद कर सकते हैं -f 35। आपके द्वारा कमांड में इच्छित वीडियो प्रारूप जोड़ने के बाद, कमांड कुछ इस तरह बन जाती है:

    youtube-dl -f 35 -ciw -o "%(title)s.%(ext)s" --batch-file='/path/to/batch-file.txt'  
    

    मैंने --simulateअंतिम कमांड में विकल्प नहीं जोड़ा था , इसलिए इस कमांड को वास्तविक के लिए निष्पादित किया जाएगा।


मुझे जोड़ना था | grep index = केवल सूची फ़ाइलों को प्राप्त करने के लिए lynx --dump " youtube.com/playlist?list=PLGwhw5SI2xoYKHyzQDj1y2I8vurgm8yd2 " | awk '/ http / {प्रिंट $ 2}' | यूनीक | grep index =
talsibony

0

मैं नीचे दिए गए कोड का उपयोग कर रहा हूं

youtube-dl -cit https://www.youtube.com/playlist?list=PL55RiY5tL51pIQNcOLDjnaQJYuj_GjVSz

अपडेट के बाद भी मुझे ऐसी ही त्रुटि मिली। इसलिए, '-सिट' के बजाय मैंने '-सिटव' का इस्तेमाल किया और यह काम कर गया।

youtube-dl -cit https://www.youtube.com/playlist?list=PL55RiY5tL51pIQNcOLDjnaQJYuj_GjVSz
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.