using youtube-dl
Note
- foo.bar represents the URL of the YouTube video to be downloaded.
- bar.baz represents the URL of the YouTube playlist containing videos to be downloaded.
Use youtube-dl --all-subs --write-all-thumbnails --write-description --write-info-json -o "%(uploader)s's %(title)s-%(id)s.%(ext)s" foo.bar to download a YouTube video using a template-based filename, along with its description text, additional info, all available subtitles, and all available thumbnails.
alternatives
- Add the
-f "[height<=480]"option to download the video in the same way, but only in a format with a video height of 480 pixels or lower.- Add
(%(resolution)s resolution)to the output template option to include information in the filename related to the video's resolution.
- Add
- Change the output template option to
-o "%(uploader)s's %(playlist)s-%(playlist_id)s %(playlist_index)s - %(title)s-%(id)s.%(ext)s"when downloading a playlist to include information in the filenames related to the video's playlist.- Change the output template option to
-o "%(playlist_index)s - %(title)s-%(id)s.%(ext)s"for more compact filenames. - Add the
--ignore-errorsoption to continue downloading even if download errors are encountered. This can be useful if one or more videos in the playlist are unavailable.
- Change the output template option to
- Add the
--min-sleep-interval 10 --max-sleep-interval 60option when downloading a playlist to sleep a random number of seconds, limited to between 10 and 60 seconds, before each individual download in the playlist. Be aware that this sleep also applies to non-video downloads, such as subtitles and thumbnail images.
explanation
Note
This is an incomplete explanation.
- The
-f "[height<=480]"format selection option downloads a video only in a format with a video height of 480 pixels or lower. - The
-o "%(uploader)s's %(title)s (%(resolution)s resolution)-%(id)s.%(ext)s"output template option specifies a custom template for the name of the output file.uploaderspecifies the video uploader's full name.titlespecifies the video title.resolutionspecifies the video resolution.idspecifies the video identifier.extspecifies the video filename extension.
- The
--all-subssubtitle option downloads all available video subtitles. - The
--ignore-errorsoption specifies that downloading should continue even if download errors are encountered. - The
--min-sleep-interval 10 --max-sleep-interval 60workaround option sleeps a random number of seconds, limited to between 10 and 60 seconds, before each individual download in a playlist. Be aware that this sleep also applies to non-video downloads, such as subtitles and thumbnail images. - The
--write-all-thumbnailsthumbnail image option writes all thumbnail image formats to disk. - The
--write-descriptionfilesystem option writes the video description to a file with a.descriptionextension. - The
--write-info-jsonfilesystem option writes video metadata to a file with a.info.jsonextension.
licensing
No rights reserved: CC0 1.0.