A youtube-dl fork with additional features and fixes. Download videos from YouTube and other websites. More information at https://github.com/yt-dlp/yt-dlp
- Download a video or playlist (with the default options from command below):
yt-dlp "https://www.youtube.com/watch?v=oHg5SJYRHA0"
- List the available downloadable formats for a video:
yt-dlp --list-formats "https://www.youtube.com/watch?v=oHg5SJYRHA0"
- Download a video with the best video and best audio stream:
yt-dlp --format "bv*+ba/b" https://www.youtube.com/watch?v=r3eaGCk2Acs
- Download a video with a defined format, in this case the best mp4 video available (default is "bv*+ba/b"):
yt-dlp --format "bv*[ext=mp4]+ba[ext=m4a]/b[ext=mp4]" "https://www.youtube.com/watch?v=oHg5SJYRHA0"
- Extract audio from a video (requires ffmpeg or ffprobe):
yt-dlp --extract-audio "https://www.youtube.com/watch?v=oHg5SJYRHA0"
- Specify audio format and audio quality of extracted audio (between 0 (best) and 10 (worst), default = 5):
yt-dlp --extract-audio --audio-format mp3 --audio-quality 0 "https://www.youtube.com/watch?v=oHg5SJYRHA0"
- List subitles available
yt-dlp --list-subs https://www.youtube.com/watch?v=r3eaGCk2Acs
- Download subtitles (if available) of a video (default subtitle file format is .vtt):
yt-dlp --write-subs en https://www.youtube.com/watch?v=r3eaGCk2Acs
- Specify the format to download subtitle:
$ yt-dlp --write-subs en --sub-format json3 https://www.youtube.com/watch?v=r3eaGCk2Acs
- Embed subtitles into the video (the option --embed-subs works only for mp4, webm and mkv videos):
yt-dlp --format "bv*+ba/b" --embed-subs --merge-output-format mp4 https://www.youtube.com/watch?v=r3eaGCk2Acs
- Download all playlists of YouTube channel/user keeping each playlist in separate directory:
yt-dlp -o "%(uploader)s/%(playlist)s/%(playlist_index)s - %(title)s.%(ext)s" "https://www.youtube.com/user/TheLinuxFoundation/playlists"
- Download Udemy course keeping each chapter in separate directory under MyVideos directory in your home:
yt-dlp -u user -p password -P "~/MyVideos" -o "%(playlist)s/%(chapter_number)s - %(chapter)s/%(title)s.%(ext)s" "https://www.udemy.com/java-tutorial"
- Download entire series season keeping each series and each season in separate directory under C:/MyVideos:
yt-dlp -P "C:/MyVideos" -o "%(series)s/%(season_number)s - %(season)s/%(episode_number)s - %(episode)s.%(ext)s" "https://videomore.ru/kino_v_detalayah/5_sezon/367617"
yt-dlp is a great tool. For those interested, I created a Firefox extension called Context Search that uses yt-dlp to download videos from YouTube or Vimeo by right-clicking on video thumbnails. It requires some configuration, but it's all explained in the extension's description in the 'Advanced features' section.