1. 下载视频或播放列表
要从 Youtube 下载视频或整个视频播放列表,只需直接使用 URL 即可:
复制youtube-dl https://www.youtube.com/watch?v=iJvr0VPsn-s
如果要指定视频下载之后的名称,可以使用如下方式:
复制youtube-dl -o 'A REAL Back to School Laptop Guide.mp4' https://www.youtube.com/watch?v=iJvr0VPsn-s
当然,你还可以在下载视频时附加更多详细信息,可用的参数就有:标题、上传者名称(频道名称)和视频上传日期等:
复制youtube-dl -o '%(title)s by %(uploader)s on %(upload_date)s in %(playlist)s.%(ext)s' https://www.youtube.com/watch?v=iJvr0VPsn-s
2. 下载多个视频
有时,我们需要一次从 Youtube 上下载多个不同的视频,此时我们只需用空格将多个 URL 分隔开即可:
复制youtube-dl <url1> <url2>
或者,您可以将要下载视频的 URL 全部放在文本文件中,并将其作为参数传递给 Youtube-dl 也行:
复制youtube-dl -a url.txt
以上命令将下载 url.txt文件中所有 URL 指向的视频。
3. 只下载(视频中的)音频
Youtube-dl 允许我们仅从 Youtube 视频下载其音频,例如:
复制youtube-dl -x https://www.youtube.com/watch?v=iJvr0VPsn-s
默认情况下,Youtube-dl 将以 Ogg(opus)格式保存音频,如果想以任何其他格式下载音频,例如 mp3 请运行:
复制youtube-dl -x --audio-format mp3 https://www.youtube.com/watch?v=iJvr0VPsn-s
此命令将从给定的视频/播放列表下载音频,将其转换为 MP3 并将其保存在当前目录中。
注意:您应该安装 ffmpeg 或 avconv 将文件转换为 mp3 格式。
4. 下载带有描述、元数据、注释、字幕和缩略图的视频
要下载视频及其他详细信息,如:说明、元数据、注释、字幕和缩略图等,请使用以下命令:
复制youtube-dl --write-description --write-info-json --write-annotations --write-sub --write-thumbnail https://www.youtube.com/watch?v=iJvr0VPsn-s
5. 列出所有可用的音/视频格式
Youtube 网站上的视频和音频会被自动转码成多种音/视频格式,要查看某个视频或播放列表所有可下载的音/视频格式,请使用以下命令:
复制youtube-dl --list-formats https://www.youtube.com/watch?v=iJvr0VPsn-s
或者笔者常用的简写方式:
复制youtube-dl -F https://www.youtube.com/watch?v=iJvr0VPsn-s
如上图所示,Youtube-dl 列出了给定视频的所有可用格式,从左到右分别为:format code(视频格式代码)、extension(扩展名)、resolution(分辨率)和 note(注释)。当您想要以特定质量或格式下载视频时,先查看一下有哪些可用,会非常便利。
6. 以某种质量和/或格式下载视频
默认情况下,Youtube-dl 将自主选择最佳质量的视频下载。 但是,也可以以特定的质量或格式来下载视频或播放列表。
Youtube-dl 支持以下品质:
- best 选择最佳质量的音/视频文件
- worst 选择质量最差的格式(视频和音频)
- bestvideo 选择最佳质量的仅视频格式(例如DASH视频),可能无法使用。
- worstvideo 选择质量最差的纯视频格式,可能无法使用。
- bestaudio 选择最优质的音频格式,可能无法使用。
- worstaudio 选择质量最差的音频格式,可能无法使用。
例如,如果要自动选择并下载最佳质量格式(音频和视频),只需使用以下命令:
复制youtube-dl -f best https://www.youtube.com/watch?v=iJvr0VPsn-s
同样,要以最佳质量仅下载音频,可执行:
复制youtube-dl -f bestaudio https://www.youtube.com/watch?v=iJvr0VPsn-s
您还可以组合使用以下不同的格式选项:
复制youtube-dl -f bestvideo+bestaudio https://www.youtube.com/watch?v=iJvr0VPsn-s
上述命令将分别下载最高质量的仅视频和最高质量的纯音频格式,再用 ffmpeg 或 avconv 合并成一个最佳质量的 mkv 文件;如果您不想合并,请将+(加号)替换为,(逗号)即可分别得到最高质量的音频和视频(两个文件),如下所示:
复制youtube-dl -f 'bestvideo,bestaudio' https://www.youtube.com/watch?v=iJvr0VPsn-s
7. 通过视频代码下载文件(常用方法)
前面方法 5 已经提到过,所有 Youtube 视频都有格式代码,我们可以用它来下载特定质量的视频。
例如,先用方法 5 查看所有可用的音/视频格式及其对应的format code(视频格式代码):
复制youtube-dl -F https://www.youtube.com/watch?v=iJvr0VPsn-s
再通过代码来下载指定的音/视频格式,例如要下载best品质(格式代码为 22)的视频文件,则执行以下命令:
复制youtube-dl -f 22 https://www.youtube.com/watch?v=iJvr0VPsn-s
从播放列表下载视频时,某些视频可能没有相同的格式。 在这种情况下,可以按首选顺序指定多个格式代码,例如:
复制youtube-dl -f 22/17/18 <playlist_url>
根据上面的示例,Youtube-dl 将以格式 22 下载视频(如果可用);如果格式 22不可用,则它将下载格式 17(如果可用);如果格式 22 和 17 都不可用,最后尝试下载格式 18。如果所有格式代码都不匹配,Youtube-dl 会报出提示。还需要注意的是,斜杠是左关联的,即最左侧的格式代码是首选。
8. 通过文件扩展名下载音/视频
以您的首选格式下载视频,例如 MP4,只需执行:
复制youtube-dl --format mp4 https://www.youtube.com/watch?v=iJvr0VPsn-s
或者
复制youtube-dl -f mp4 https://www.youtube.com/watch?v=iJvr0VPsn-s
如我在上一节中已经提到的那样,某些视频可能无法以您的首选格式提供。 在这种情况下,Youtube-dl 将下载其他最佳可用格式。 例如,此命令将下载最佳质量的 MP4 格式文件。 如果 MP4 格式不可用,则它将下载其他最佳可用格式。
复制youtube-dl -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best' https://www.youtube.com/watch?v=iJvr0VPsn-s
9. 限制下载视频的大小
从 Youtube 播放列表下载多个视频时,您可能只想下载特定大小的视频。例如,此命令不会下载任何小于指定大小的视频,例如 100MB:
复制youtube-dl --min-filesize 100M <playlist_url>
如果您不想下载大于给定大小的视频,可以这样:
复制youtube-dl --max-filesize 100M <playlist_url>
我们还可以用组合格式,选择运算符来下载特定大小的视频。例如,以下命令将下载最佳视频格式但不大于 100MB 的视频:
复制youtube-dl -f 'best[filesize<100M]' https://www.youtube.com/watch?v=iJvr0VPsn-s
10. 按日期下载视频
Youtube-dl 允许我们按照上传日期来筛选和下载视频或播放列表,例如要下载 2019 年 8 月 1 日上传的视频,可以使用:
复制youtube-dl --date 20190801 <URL>
下载在特定日期或之前上传的视频:
复制youtube-dl --datebefore 20190801 <URL>
下载在特定日期或之后上传的视频:
复制youtube-dl --dateafter 20190101 <URL>
仅下载过去 6 个月内上传的视频:
复制youtube-dl --dateafter now-6months <URL>
下载特定时间段内(例如 2018 年 1 月 1 日至 2019 年 1 月 1 日)上传的视频:
复制youtube-dl --dateafter 20180101 --datebefore 20190101 <URL>
11. 从播放列表下载特定的视频
从播放列表下载特定的视频,是 Youtube-dl 的另一个非常有用的功能。例如,要从播放列表下载第 10 个文件,可使用:
复制youtube-dl --playlist-items 10 <playlist_url>
同样,要下载多个指定的文件,只需用逗号分隔:
复制youtube-dl --playlist-items 2,3,7,10 <playlist_url>
当然,也可以按序号来指定要下载范围,例如从第 10 个开始,直接下载完整个列表:
复制youtube-dl --playlist-start 10 <playlist_url>
或者在播放列表中仅下载从第 2 到第 5 的文件:
复制youtube-dl --playlist-start 2 --playlist-end 5 <playlist_url>
12. 仅下载适用于特定年龄的视频
Youtube-dl 的另一个特点是,允许我们只下载适合指定适用年龄的视频。例如,要从播放列表中下载所有未标记为「NSFW」或年龄限制为 7 岁儿童的「Let’s Play」视频,可使用:
复制youtube-dl --match-title "let's play" --age-limit 7 --reject-title "nsfw" <playlist_url>
13. 使用帮助
通过上述示例的介绍,相信已经能够满足绝大多数用户对 Youtube 视频下载和 youtube-dl 的使用需求了。有关更多详细信息,请参阅 Youtube-dl 帮助:
复制youtube-dl --help
如何从YOUTUBE-DL下载播放列表?
youtube-dl支持此问题的两个部分(以mp3下载和下载播放列表):
youtube-dl –extract-audio –audio-format mp3 -o “%(title)s.%(ext)s”
我的一些注意事项和评论:
旧版本的youtube-dl与现代播放列表斗争。 您可能需要使用最新版本替换repo版本 。
cmo :您可以忽略带有-i标志的丢失(“您所在国家/地区不可用”或已删除)video。
frans :如果您的播放列表不起作用且URL包含v=元素,请将其删除,以便查询字符串中只包含?list=…项。
注意: – 旧版本的youtube-dl无法下载播放列表。 首先你知道你的youtube-dl版本是什么。 检查Youtube-dl使用命令的版本
youtube-dl –version
版本2014.02.17及更早版本无法下载播放列表。 如果您使用旧版本,请更新它
sudo youtube-dl -U
成功更新后使用命令
youtube-dl -cit https://www.youtube.com/playlist?list=PLttJ4RON7sleuL8wDpxbKHbSJ7BH4vvCk
您还可以在简单的文本文件中创建URL列表,并使用以下命令。
youtube-dl -cit -a file_name_in_which_you_paste_URL_list
对于MP3格式音频可以保存。 但是音频在我的机器上保存为.m4a格式。
youtube-dl -cit –extract-audio –audio-format mp3 https://www.youtube.com/playlist?list=PLttJ4RON7sleuL8wDpxbKHbSJ7BH4vvCk
注意: –如果您从Ubuntu软件中心安装youtube-dl。 您无法从终端更新它。
转到软件中心并从中进行更新。
我在Wine上测试这个命令,因为我的youtube-dl也很老了。 我无法更新它。
如果您可以更新youtube-dl,可以使用上面的命令下载播放列表。
我希望它有帮助…… WINE上的Youtube-dl
您可以使用自己喜欢的搜索引擎找到很多说明。 例如:
http://www.xmodulu.com / …
对于此播放列表 ,它将是: youtube-dl -t https://www.youtube.com/playlist?list=PLYH8WvNV1YEnNVnJb5ZXxDCE2HDAVVo4M
我希望我能帮到你!
奥利回答的补充。 如果您有一个播放列表(在单独的行中),其中包含文本文件中的所有URL以供下载:
youtube-dl –extract-audio –audio-format mp3 –batch-file=”/full/path/to/playlist”
如果使用pip安装,请运行以下命令进行更新:
sudo pip install youtube-dl –upgrade
请享用…
你真的确定要MP3吗? 现在很多设备都可以播放AAC,有些甚至可以播放Opus。
如果你想保持最高质量(Opus 160 kbps)并且你的播放器支持Opus编解码器,最好使用:
youtube-dl -f 251 (Playlist URL)
但如果您的播放器仅支持AAC(如2018年的大多数入门级电视):
youtube-dl -f 140 (Playlist URL)
如果您使用MP3,则会因为重新编码(来自YouTube已经重新编码的音频)而降低质量。