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