前言

  本文由郭鹏真于2020/10/31翻译自Dan ClowryHow to Install Youtube-DL on Windows》,英语水平比较好的可以直接看原文。

  由于跨境电商运营的过程中,需要剪辑大量的视频用于广告推广,但是市面上搜到的视频下载软件总是难以满足我的需求,于是作为程序猿的我就找到了这种Youtube-DL,非常好用,可以下载几乎所有的视频网站视频,也可以用指令剪辑成自己所需要的视频片段。

:这些其他网站包括但不限于如下常用网站:BaiduVideo百度视频、BiliBili、BBC、CCTV央视网、CNN、iqiyi爱奇艺、kuwo酷我音乐、MSN、netease网易云音乐、qqmusicQQ音乐、xiami虾米音乐、ximalaya喜马拉雅FM、Yahoo、youku优酷、youtube等。


原文

   Youtube-DL是一个很棒的小项目,通过它,你可以从互联网上几乎每个主流的视频网站下载视频。本教程将向您展示如何在Windows上下载、安装、配置和使用Youtube-DL

预先准备

下载和安装

下载 Youtube-DL

  我们将从下载和安装Youtube-DL开始。进入Youtube-DL Github存储库的发布页面【译者注Youtube-DLGithub仓库由于DMCA takedown notice已经关闭,需要去官网下载,如果还是没找到,下面评论区留下邮箱,到时候我发你】。 向下滚动,直到找到assets列表,单击名为“youtube-dl”的文件。开始下载Youtube-DL。 您可以将该文件下载到除System32之外的任何位置。我建议为Youtube-DL单独创建一个文件夹,这样以后配置Youtube-DL会更容易。本教程中,我将该文件下载到D:\Programs\Other Programs\Youtube-DL

   现在您已经下载了Youtube-DL。您可能已经注意到,当您尝试双击运行程序时,什么也不会发生【译者注:现象就是命令窗口闪退】。这是因为Youtube-DL是一个命令行程序,它只能从命令行界面(如命令提示符Command Prompt)中使用。

   但是,如果您打开命令提示符并尝试使用命令youtube-dl,您仍然会得到一个错误,说明该命令不被识别。要运行Youtube-DL,您需要将其添加到您的计算机路径PATH中,或者将其添加到您下载Youtube-DLcd目录中。

1
2
3
C:\Users\guopz>youtube-dl
'youtube-dl' 不是内部或外部命令,也不是可运行的程序
或批处理文件。

Youtube-DL添加到你的全局变量路径(推荐)

   将Youtube-DL添加到您的路径允许您从任何命令行界面(如命令提示符或PowerShell)运行Youtube-dl命令,而无需首先cd到您安装Youtube-DL的目录中。

Youtube-DL添加到你的全局变量路径中:

Step 1:复制你的Youtube-DL下载安装位置的完整路径

   你可以通过导航到你在Windows资源管理器中下载Youtube-DL的任何地方,点击地址栏并复制文本来显示完整的路径。不要在路径中包含.exe,它应该只包含目录(例如D:\Programs\Other Programs\Youtube-DL,而不是D:\Programs\Other Programs\Youtube-DL\Youtube-DL.exe)。

Add to your own Path

Step 2:打开环境变量

   按Win+R键,输入System propertiesadvanced,打开【系统属性】菜单。在此菜单中,按下标签为【环境变量】的按钮。

environment variables

Step 3:选择Path变量

   您可以将Youtube-DL添加到用户User级别或系统System级别的路径。将其添加到系统路径将允许任何用户运行youtube-dl命令,而无需首先进入安装目录,而用户路径将仅应用于当前登录的用户。注意,在系统路径中设置它需要管理员权限,并且youtube- dll.exe不能位于用户级别下的特定位置(例如桌面或“我的文档”)。对于本教程,我将使用系统路径。

   如果希望将其添加到用户级别路径中,请滚动上面第一个变量列表【某某的用户变量U】,直到找到一个指定路径Path。双击它,打开编辑器。
   如果希望将其添加到系统级别路径中,请滚动下面第二个变量列表【系统变量S】,直到找到一个指定路径Path。双击它以打开编辑器。

   很可能已经有一些东西在路径Path中了。不要删除任何现有条目。它们很可能是由其他程序或Windows系统设置的,删除它们会导致程序无法工作,甚至会导致Windows无法启动。

environment variables

左边是用户和系统变量列表,右边是系统路径的编辑器

Step 4:将Youtube-DL安装路径添加到你想要添加的级别路径中

   打开变量编辑器,并且您的Youtube-DL安装路径在剪贴板中,按下编辑器右侧的【新建】New按钮。这将在变量栏的底部创建一个新条目。粘贴到你的Youtube-DL路径,然后按enter【回车键】,然后按OK【确定】键,保存更改。

add_to_all_path

Step 5: 测试

   现在您已经将Youtube-DL添加到路径Path中,您现在可以打开一个新的命令提示窗口,并运行Youtube-DL。现在您可以转到“安装FFmpeg”一节来继续安装!

Test it

如果你的CMD窗口仍然不能识别youtube-dl,并有错误提示,试试下面的方法:

  • 重新启动计算机强制刷新路径。
  • 请仔细检查Youtube-DL的路径是否正确。确保youtube-dl.exe不包含在路径中。
  • 如果您将Youtube-DL添加到系统级别路径Path,请尝试将其添加到用户级别路径Path(反之亦然)。
  • 在路径编辑器中,选择Youtube-DL条目,并尝试使用“上移”和“下移”按钮在路径条目列表中上下移动一下。

   如果尝试了上面的方法仍然无效,在这篇文章的底部留下评论,看看是否有人可以帮助你。

安装FFmpeg

   虽然FFmpeg不是必需的,但它让您可以扩展Youtube-DL的更多特性。最值得注意的是,它允许您下载高于720p的Youtube视频,并允许您将特定的音频和视频音轨合并为一个文件。

   安装FFmpeg和安装Youtube-DL非常相似。转到Windows下的FFmpeg 下载页面译者注:该链接已经打不开,现在官网下载链接在这里,同样,如果找不到,请把邮箱留在下面评论区】,选择您的系统架构和所需的FFmpeg版本,然后按下download。这将开始下载包含FFmpeg文件的zip文件。将此zip文件解压缩到您选择的位置。在本教程中,我将其解压提取到D:\Programs\Other Programs\ffmpeg

   解压提取FFmpeg后,现在需要将其添加到您的路径Path中。步骤与Youtube-DL相同。但是,不要复制基本的FFmpeg安装路径,而是从bin文件夹复制路径(例如,D:\Programs\Other Programs\ffmpeg\bin而不是D:\Programs\Other Programs\ffmpeg\)。

Note that the path for FFmpeg includes the "bin" folder

注意,FFmpeg的路径包括“bin”文件夹

   您可以通过打开命令提示符并运行ffmpeg来验证在路径中设置了FFmpeg
Test ffmpeg

配置Youtube-DL

   既然您已经成功安装了Youtube-DL,那么您可能需要使用数百种可用变量译者注:此网页无法打开,官网看样子没人维护,暂时也找不到,找到的伙伴欢迎分享到下面评论区】中的一些来根据自己的喜好定制化。但是每次运行Youtube-DL时输入相同的选项是很乏味的。这就是配置文件的作用。每次运行Youtube-DL时都会运行配置文件中设置的选项。但是,可以在运行时使用--ignore-config标志禁用该配置。在运行时设置的选项也将优先于配置中设置的选项。

   创建配置文件非常简单。对于Windows,只需在%APPDATA%\youtube-dl\目录下创建一个名为’config.txt’的文件。在配置中设置选项就像在运行时设置选项一样。可以使用哈希符号(#)注释掉行。

我建议使用下面的配置作为起点:

1
2
3
4
5
6
# Set date at current date instead of video's original date
--no-mtime

# Save to current user's videos folder using video title
# See https://github.com/ytdl-org/youtube-dl#output-template for all naming options
-o "%USERPROFILE%\Videos\Youtube\%(title)s.%(ext)s"

   查看配置Youtube-DL选项列表输出选项列表

使用FFmpeg

   既然您已经按照自己的喜好安装和配置了Youtube-DL,那么您可能想知道如何使用它。本节提供了一些关于如何使用Youtube-DL下载视频的示例和提示。

基本用法

   下载视频最简单的方法是调用youtube-dl,然后输入视频URL。

1
youtube-dl https://www.youtube.com/watch?v=tO01J-M3g0U

   这将下载你想要的视频使用最高的可用质量。如果安装了FFmpeg,它将能分别下载最高质量的视频和最高质量的音频,并将它们合并成单个文件。否则,它将尝试下载同时包含视频和音频的最高质量的文件。

格式选择器

   但是如果你想下载特定质量的视频呢?或者如果你只想下载音频呢?这就是格式选择器的作用。

   您可以使用-F标识符(注意是大写的F)或--list-formats列出视频的所有可用格式。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
240p  182k , av01.0.00M.10.0.110.09.16.09.0, 30fps, video only, 2.27MiB
242 webm 426x240 240p 227k , vp9, 30fps, video only, 3.20MiB
133 mp4 426x240 240p 245k , avc1.4d4015, 30fps, video only, 2.45MiB
330 webm 256x144 144p60 HDR 250k , vp9.2, 60fps, video only, 3.69MiB
396 mp4 640x360 360p 336k , av01.0.01M.10.0.110.09.16.09.0, 30fps, video only, 4.26MiB
243 webm 640x360 360p 420k , vp9, 30fps, video only, 5.97MiB
331 webm 426x240 240p60 HDR 517k , vp9.2, 60fps, video only, 7.98MiB
397 mp4 854x480 480p 623k , av01.0.04M.10.0.110.09.16.09.0, 30fps, video only, 7.92MiB
134 mp4 640x360 360p 634k , avc1.4d401e, 30fps, video only, 6.97MiB
244 webm 854x480 480p 773k , vp9, 30fps, video only, 10.86MiB
332 webm 640x360 360p60 HDR 1094k , vp9.2, 60fps, video only, 17.37MiB
398 mp4 1280x720 720p60 1249k , av01.0.08M.10.0.110.09.16.09.0, 60fps, video only, 17.83MiB
135 mp4 854x480 480p 1297k , avc1.4d401f, 30fps, video only, 14.05MiB
247 webm 1280x720 720p 1545k , vp9, 30fps, video only, 22.19MiB
333 webm 854x480 480p60 HDR 2034k , vp9.2, 60fps, video only, 33.47MiB
136 mp4 1280x720 720p 2657k , avc1.4d401f, 30fps, video only, 27.20MiB
248 webm 1920x1080 1080p 2702k , vp9, 30fps, video only, 39.80MiB
302 webm 1280x720 720p60 2710k , vp9, 60fps, video only, 36.54MiB
298 mp4 1280x720 720p60 4071k , avc1.4d4020, 60fps, video only, 45.17MiB
303 webm 1920x1080 1080p60 4622k , vp9, 60fps, video only, 63.87MiB
334 webm 1280x720 720p60 HDR 4790k , vp9.2, 60fps, video only, 80.74MiB
137 mp4 1920x1080 1080p 4985k , avc1.640028, 30fps, video only, 49.39MiB
299 mp4 1920x1080 1080p60 6761k , avc1.64002a, 60fps, video only, 80.25MiB
335 webm 1920x1080 1080p60 HDR 7277k , vp9.2, 60fps, video only, 123.60MiB
271 webm 2560x1440 1440p 8874k , vp9, 30fps, video only, 119.07MiB
308 webm 2560x1440 1440p60 13422k , vp9, 60fps, video only, 181.85MiB
336 webm 2560x1440 1440p60 HDR 16900k , vp9.2, 60fps, video only, 297.56MiB
313 webm 3840x2160 2160p 18006k , vp9, 30fps, video only, 287.61MiB
315 webm 3840x2160 2160p60 26847k , vp9, 60fps, video only, 436.24MiB
337 webm 3840x2160 2160p60 HDR 29609k , vp9.2, 60fps, video only, 528.73MiB
43 webm 640x360 360p , vp8.0, [email protected], 15.53MiB
18 mp4 640x360 360p 609k , avc1.42001E, [email protected] 96k (44100Hz), 11.23MiB
22 mp4 1280x720 720p 1605k , avc1.64001F, [email protected] (44100Hz) (best)

   Youtube-DL返回很多信息,但一旦你将其拆分,就更容易管理了。信息以表格式返回,表中有7列,每行有一种格式。只有音频的格式首先出现,然后是只有视频的格式,在底部是音频+视频格式。格式按比特率升序列出。表中的各列细分如下:

  • Format code - 下载指定格式时使用的代码
  • Extension - 下载指定格式的扩展
  • Resolution - 分辨率、帧率和其他信息,如HDR
  • Bitrate - 以千比特/秒表示的格式的比特率
  • Codec - 编解码器信息,格式帧率和格式是否仅为视频/音频
  • Size - 该格式的大小
Format Code Extension Resolution Bitrate Codec Size
337 webm 3840x2160 2160p60 HDR 29609k vp9.2, 60fps, video only 528.73MiB

   要下载指定格式的视频,请使用-f(注意小写f)或--format标志符。您可以指定仅视频、仅音频或视频+音频格式。使用使用--list-formats标志符返回的格式代码来选择格式。

1
2
3
4
5
6
7
8
9
10
11
12
youtube-dl https://www.youtube.com/watch?v=tO01J-M3g0U -f 299+251

[youtube] tO01J-M3g0U: Downloading webpage
[youtube] tO01J-M3g0U: Downloading video info webpage
WARNING: Requested formats are incompatible for merge and will be merged into mkv.
[download] Destination: C:\Users\Dan\Videos\Youtube\The World in HDR in 4K (ULTRA HD).f299.mp4
[download] 100% of 80.89MiB in 00:28
[download] Destination: C:\Users\Dan\Videos\The World in HDR in 4K (ULTRA HD).f251.webm
[download] 100% of 2.37MiB in 00:01
[ffmpeg] Merging formats into "C:\Users\Dan\Videos\Youtube\The World in HDR in 4K (ULTRA HD).mkv"
Deleting original file C:\Users\Dan\Videos\Youtube\The World in HDR in 4K (ULTRA HD).f299.mp4 (pass -k to keep)
Deleting original file C:\Users\Dan\Videos\Youtube\The World in HDR in 4K (ULTRA HD).f251.webm (pass -k to keep)

   上面的示例将下载与代码299251匹配的格式。这相当于1080p 60FPS视频和140kb/s Opus音频流。然后使用FFmpeg将这些文件合并到单个MKV文件中。

   下载音频或视频的过程与此相同。只需指定音频或视频格式。

1
youtube-dl https://www.youtube.com/watch?v=tO01J-M3g0U -f 299
只下载影片(格式代码299)
1
youtube-dl https://www.youtube.com/watch?v=tO01J-M3g0U -f 251
只下载音频文件(格式代码251)

   Youtube-DL也有一些预设格式来下载最好或最差的音频/视频。这些可以用来代替精确的格式代码。

  • best - Downloads the highest quality file containing both audio and video
  • worst - Downloads the lowest quality file containing both audio and video
  • bestvideo - 下载最高质量的视频文件
  • worstvideo - 下载最低质量的视频文件
  • bestaudio - 下载最高质量的音频文件
  • worstaudio - 下载最低质量的音频文件

结论

   Youtube-DL 是一个让人难以置信的程序,它允许你从数百个网站上下载媒体文件。虽然我希望本教程已经让您开始使用Youtube-DL,但我强烈建议您再看一下Youtube-DLREADME文件,其中包含关于使用和配置Youtube-DL可用选项的更详细信息。