Téléchargez des vidéos YouTube du début du lot à la fin du lot qui fait partie d'une liste de lecture

10

Une vidéo Youtube peut être visionnée de manière autonome ou faire partie d'une liste de lecture.
Exemple:
https://www.youtube.com/watch?v=vbsNiOkm0BU et
https://www.youtube.com/watch?v=vbsNiOkm0BU&index=141&list=UUmM7KPLEthAXiPVAgBF6rhA

Remarquez la pièce vbsNiOkm0BU.

La question est d'obtenir cette partie pour toutes les vidéos de la chaîne / playlist.

Le motif est de télécharger toutes les vidéos de cette chaîne (environ 3600). Mais je n'ai pas réussi à youtube-dltélécharger tout d'un coup.
Je souhaite donc le télécharger par groupe de 100, par exemple.

Si je pouvais approfondir cette question, puis-je écrire un script bash pour télécharger uniquement des index particuliers d'une liste de lecture?

Si vous voyez le lien ci-dessus:
https://www.youtube.com/watch?v=vbsNiOkm0BU&index=141&list=UUmM7KPLEthAXiPVAgBF6rhA
Remarquez la pièce &index=141.

Maintenant, si vous faites quelque chose comme ça:

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

Remarquez la pièce &index=${i}.

Cela télécharge la même vidéo encore et encore, en raison de vbsNiOkm0BU.

Toute aide à ce sujet serait grandement appréciée. Je vous remercie.

Rishiraj Surti
la source

Réponses:

14

Playlist

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

... où <url-of-playlist>est remplacé par l'URL de la playlist, remplacez FORMATpar n'importe quel format vidéo disponible, par exemple 18, NUMBER-STARTest le numéro de la vidéo dans la playlist pour commencer le téléchargement en premier, et NUMBER-ENDest le numéro de la vidéo dans la playlist pour le télécharger en dernier .

Canal

Si une chaîne possède plusieurs listes de lecture, cliquez sur la première liste de lecture et téléchargez toutes les vidéos de la liste de lecture sélectionnée à l'aide de la commande ci-dessus. Répétez ensuite pour chaque playlist de la chaîne.

Explication

-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 

Convertissez tous les titres vidéo en minuscules

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/' {} +

Explication

--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.
Karel
la source
Je vous remercie! Ça a marché! Encore une requête, puis-je convertir tous les titres vidéo en minuscules pendant le téléchargement? Je peux spécifier le format comme --output "%(title)s". Puis-je également le convertir en minuscules?
Rishiraj Surti