web-dev-qa-db-fra.com

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

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

Notez la partie vbsNiOkm0BU.

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

Le motif est de télécharger toutes les vidéos de cette chaîne (environ 3 600). Mais je n'ai pas eu de succès avec youtube-dl télécharger tout à la fois.
Je souhaite donc le télécharger par centaines, par exemple.

Si je pouvais approfondir cette question, puis-je écrire un script bash pour télécharger uniquement les 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
Notez la partie &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

Notez la partie &index=${i}.

Ceci télécharge la même vidéo encore et encore, à cause de vbsNiOkm0BU.

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

10
Rishiraj Surti

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 liste de lecture, remplacez FORMAT par tout format vidéo disponible, par exemple 18, NUMBER-START est le numéro de la vidéo dans la liste de lecture commence par être téléchargée, et NUMBER-END est le numéro de la vidéo de la liste de lecture à télécharger en dernier.

Canal

Si une chaîne contient 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 du canal.

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 

Convertir 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.
14
karel