एक बैच के अंत में बैच के प्रारंभ से YouTube वीडियो डाउनलोड करें जो एक प्लेलिस्ट का हिस्सा है


10

एक Youtube वीडियो को स्टैंडअलोन देखा जा सकता है या यह किसी प्लेलिस्ट का हिस्सा हो सकता है।
उदाहरण:
https://www.youtube.com/watch?v=vbsNiOkm0BU और
https://www.youtube.com/watch?v=vbsNiOkm0BU&index=141&list=UUmM7KPLEYAXiPVAgBF6rhA

भाग को नोटिस करें vbsNiOkm0BU

प्रश्न यह है कि इस भाग को चैनल / प्लेलिस्ट के सभी वीडियो के लिए प्राप्त करें।

मकसद इस चैनल के सभी वीडियो (लगभग 3600) डाउनलोड करना है। लेकिन मुझे youtube-dlएक बार में सभी डाउनलोड करने के साथ सफलता नहीं मिली है ।
तो मैं एक उदाहरण के रूप में, इसे 100 के गुच्छा में डाउनलोड करना चाहता हूं।

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

यदि आप उपरोक्त लिंक देखते हैं:
https://www.youtube.com/watch?v=vbsNiOkm0BU&index=141&list=UUmM7KPLEthAXiPVAgBF6rhA
भाग देखें &index=141

अब अगर ऐसा कुछ करें:

for i in {100..200}
do
youtube-dl https://www.youtube.com/watch?v=vbsNiOkm0BU&index=${i}&list=UUmM7KPLEthAXiPVAgBF6rhA
done

भाग को नोटिस करें &index=${i}

यह उसी वीडियो को बार-बार डाउनलोड कर रहा है, जिसके कारण vbsNiOkm0BU

इस पर किसी भी प्रकार की सहायताबहुत प्रशंसनीय होगी। धन्यवाद।

जवाबों:


14

प्लेलिस्ट

youtube-dl -f FORMAT -ciw --output '%(title)s.%(ext)s' --playlist-start NUMBER-START --playlist-end NUMBER-END <url-of-playlist>  

... जहां <url-of-playlist>प्लेलिस्ट के URL द्वारा प्रतिस्थापित किया जाता है, FORMATकिसी भी उपलब्ध वीडियो प्रारूप के साथ प्रतिस्थापित किया जाता है, उदाहरण के लिए 18, NUMBER-STARTप्लेलिस्ट में वीडियो की संख्या पहले डाउनलोड करना शुरू करना है, और NUMBER-ENDअंतिम डाउनलोड करने के लिए प्लेलिस्ट में वीडियो की संख्या है ।

चैनल

यदि किसी चैनल में एक से अधिक प्लेलिस्ट हैं, तो पहली प्लेलिस्ट पर क्लिक करें और उपरोक्त कमांड का उपयोग करके चयनित प्लेलिस्ट में सभी वीडियो डाउनलोड करें। फिर चैनल में प्रत्येक प्लेलिस्ट के लिए दोहराएं।

व्याख्या

-f, --format FORMAT
    video format code. The -F option (capital F) displays all available video  
    formats for a video link. Example: youtube-dl -F <url-of-video>

-c, --continue                   
    force resume of partially downloaded files

-i, --ignore-errors              
    continue on download errors, for example to skip unavailable videos  
    in a channel   

-w, --no-overwrites
    do not overwrite files 

सभी वीडियो शीर्षक को लोअरकेस में बदलें

youtube-dl -f FORMAT -ciw --output '%(title)s.%(ext)s' --playlist-start NUMBER-START --playlist-end NUMBER-END <url-of-playlist>     
find -type f -exec rename 'y/A-Z/a-z/' {} +

व्याख्या

--output '%(title)s.%(ext)s'  
    output file name(s) as the name of the video, followed by a dot character and the video's extension  

find -type f 
    Find all files.

y/source/destination/  
    Transliterate the characters in the pattern space which appear in source   
    to the corresponding character in destination.

धन्यवाद! वह काम किया! बस एक और प्रश्न, क्या मैं डाउनलोड करते समय सभी वीडियो शीर्षक को निचले मामलों में बदल सकता हूं? मैं जैसे प्रारूप को निर्दिष्ट कर सकता हूं --output "%(title)s"। क्या मैं इसे लोअर केस में भी बदल सकता हूँ?
ऋषिराज सुरती
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.