youtube-dl是一个使用Python编写的命令脚本程序,在视频下载方面极其强悍。相比在线解析网站的下载速度更稳定更快,而且对于YouTube的1080p及以上的视频可以自动合并音视频(需要ffmpeg)。
官网:https://youtube-dl.org/
项目:https://github.com/rg3/youtube-dl
由于命令行脚本工具没有UI界面,所以它强大的功能要靠参数来实现。借用不同的参数可以实现不同的下载方式,比如指定格式、下载视频字幕、批量下载、代理下载等等。
一、安装和配置
将下载的 youtube-dl.exe 文件和 FFmpeg 工具拷贝到同一个文件夹下,并添加该目录到 Path 环境变量,如图:
FFmpeg官网:https://ffmpeg.org/
GitHub地址:https://github.com/FFmpeg/FFmpeg
二、具体用法
首先应该用 cd 命令进入准备存储下载文件的文件夹目录,以便确定youtube-dl的下载路径。命令格式如下:
cd /d "D:\DL-Video"
下载youtube视频
通过 -F 参数获取所有格式清单,在清单中,最左边一列编号对应着不同的音、视频格式。注意,国内需要开全局代理。
youtube-dl -F [URL] 或者 youtube-dl --list-formats [url]
如图所示:
然后我们就可以用 -f 参数来下载指定格式的音视频,指定方法就是“视频编号”加“音频编号”,如 299+140 组合(注意:视频编号在前,音频编号在后)。
youtube-dl -f [format code] [url]
如图所示:
最后,youtube-dl 会自动调用 ffmpeg 将分离的音、视频文件完整合并成一个视频文件。上图不难看出,从下载独立视频 > 下载独立音频 > ffmpeg合并视频 > 删除单独的视、音频为一个整过程。
使用代理下载
youtube-dl 提供了网络代理参数,这样即使不开启全局模式也可以完成下载。
下载Vimeo视频
Vimeo的视频和音频没有分离,所以下载起来比较方便。如图:
如果视频网址包含&符号,则必须将整个URL放在引号中,如:
youtube-dl "https://www.youtube.com/watch?t=4&v=BaW_jenozKc"
三、国内的 You-Get
GitHub项目:https://github.com/soimort/you-get
事实上,You-Get对国内视频网站的支持更加全面。比如下面是它的完整支持列表:
参考:https://www.jianshu.com/p/8817a7b0c8d6
支持列表:https://rg3.github.io/youtube-dl/supportedsites.html