前言
下面介绍一种Windows平台,下载youtube视频的工具和方法,做个记录。
安装python
安装youtube-dl
下载windows可执行程序,存放到电脑任意目录(比如:D:\Program Files\youtubedl)
官方地址: https://ytdl-org.github.io/youtube-dl/index.html
下载页面: https://ytdl-org.github.io/youtube-dl/download.html使用pip安装(必须安装python3),在安装了Python之后,按Win+R键打开运行,输入cmd,再输入下面的代码即可自动下载安装youtube-dl
1 | pip install youtube-dl //直接安装youtube-dl |
安装ffmpeg
FFmpeg主要用来合并视频分段以及对视频重新编码/封装,与youtube-dl配合使用;不是必须的,但建议安装。
官方提供了两个下载地址,分别是www.gyan.dev和github, 这里选www.gyan.dev页面下载。
打开Win+R,输入cmd,回车,输入以下命令:
1 | ffmpeg -version |
如果出现如下图所示的版本号信息,则表明FFmpeg安装成功了,你可以在命令提示行中任意文件夹下运行FFmpeg。
开启系统代理
如果客户端代理软件没有代理全局流量,则需在下载命令前加入代理地址,如果设置了全局代理,则不需要增加代理配置项。
1 | # 本地启动stunnel加密通道,监听1080端口,但没有设置全局代理的情况 |
下载youtube视频
在保存了youtube-dl.exe命令的目录内,启动命令行。
查看视频所有类型,只看不下载
1 | youtube-dl -F [url] |
这是一个列清单参数,执行后并不会下载视频,但能知道这个目标视频都有哪些格式存在,这样就可以有选择的下载啦!
- 下载指定质量的视频和音频并自动合并
1 | youtube-dl -f [format code] [url] |
通过上一步获取到了所有视频格式的清单,最左边一列就是编号对应着不同的格式.
由于YouTube的1080p及以上的分辨率都是音视频分离的,所以我们需要分别下载视频和音频,可以使用137+251这样的组合。
如果系统中安装了ffmpeg的话, youtube-dl 会自动合并下载好的视频和音频, 然后自动删除单独的音视频文件。
1 | .\youtube-dl.exe -f 137+251 https://www.youtube.com/watch?v=Kn2FRWKqMT8 |
下载完成后,可以在当前目录中,看到完整视频
- 下载字幕
youtube-dl –write-sub [url] //这样会下载一个vtt格式的英文字幕和mkv格式的1080p视频下来
1 | youtube-dl --write-sub --skip-download [url] //下载单独的vtt字幕文件,而不会下载视频 |
- 下载视频列表
youtube-dl -f [format code] [palylist_url] //这种方式可以下载制定清晰度的mp4视频
1 | youtube-dl [playlist_url] //下载视频列表,这种方式下载的视频可能是mkv格式或者webm格式 |
- 下载Vimeo视频
Vimeo的视频下载起来比较方便,因为没有分离,可以直接下载1080p带音频的视频
命令与下载YouTube的基本一致;
youtube-dl支持的网站很多,大家可以从作者整理的这个列表里查看支持的网站(不过由于有的网站接口算法升级,可能当初支持的网站现在不能很好的支持了),如果您要下载的视频网站现在不能用youtube-dl下载的,不妨试试另外一个同样基于Python开发的下载工具You-Get~
youtube-dl官网:https://yt-dl.org/
youtube-dl支持的下载网站:https://ytdl-org.github.io/youtube-dl/supportedsites.html
GitHub项目:https://github.com/rg3/youtube-dl/