#文章竟然被鎖了、
{【备份】youtube-dl使用介绍 - 简书}
{
{windows使用youtube-dl下载国外视频python}
youtube-dl是一个使用Python编写的脚本,在视频下载方面极其强悍,比在线解析网站的下载速度更稳定更快,并且对于YouTube的1080p及以上的视频可以自动合并音视频(需要ffmpeg);由于这是一个命令脚本工具,没有UI界面,因此它强大的功能就要靠参数来实现,借用不同的参数可以实现不同的下载方式,比如指定格式,下载视频字幕,批量下载,代理下载等等
▲这里使用Python版举例
✿ windows可以到官网http://rg3.github.io/youtube-dl/download.html 下载非python版本
✿ Linux下使用下面命令安装
sudo wget https://yt-dl.org/downloads/latest/youtube-dl -O /usr/local/bin/youtube-dl sudo chmod a+rx /usr/local/bin/youtube-dl
▲Step1 下载与安装Python
1.访问Python官网下载最新版本的Python
2.安装Python 3.5.2,注意勾选下面的 Add Python 3.5 to PATH
3.按 Win+R键打开运行,输入 cmd,再输入 python并回车执行,如果出现如下界面,则代表安装成功
▲Step2 安装youtube-dl
✿ 方式一 下载Windows exe程序使用
从官网下载youtube-dl.exe然后放在电脑的任意目录下(比如我这里的C:\Users\LOLO)即可使用;可以通过下面的命令来更新youtube-dl
youtube-dl -U
✿ 方式二 直接使用命令行来安装
在安装了Python之后,按 Win+R键打开运行,输入 cmd,再输入下面的代码即可自动下载安装youtube-dl
pip install youtube-dl //直接安装youtube-dl pip install --upgrade youtube-dl //安装youtube-dl并更新
安装完之后,输入 youtube-dl,如果出现下面的提示,则表明youtube-dl已经安装好啦
▲Step3 安装ffmpeg
FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec
1.进入FFmpeg官网,进入下载页面,根据自己的操作系统选择下载最新的32位或64位静态程序版本
2.下载之后解压出来,将会看到这么一堆文件夹
不用管它,直接把这个文件夹改个名字改成"ffmpeg"然后移到C盘根目录
3.打开系统属性>高级系统设置>环境变量
4.在环境变量>系统变量 里找到Path,点击编辑>新建,然后把刚才那个文件夹里的bin路径(C:\ffmpeg\bin)复制到这里
5.打开Win+R,输入cmd,回车,输入以下命令:
ffmpeg -version如果出现如下图所示的版本号信息,则表明FFmpeg安装成功了,你可以在命令提示行中任意文件夹下运行FFmpeg
▲通过D理方式下载
由于网络的不稳定性,通过D理下载
建议使用$-$的童鞋可以在下载国外视频之前将系统改成"全局模式",这样使用youtube-dl下载视频就不需要其他设置了;
$-$全局代理模式
注意 如果你不想用全局模式,那么后文提到的命令都需要加上这样的代理设置
--proxy "https://127.0.0.1:1080"
▲下载YouTube视频
➤ 查看视频所有类型,只看不下载
youtube-dl -F 視頻網址或者
youtube-dl --list-formats 視頻網址这是一个列清单参数,执行后并不会下载视频,但能知道这个目标视频都有哪些格式存在,这样就可以有选择的下载啦!
➤ 下载指定质量的视频和音频并自动合并
youtube-dl -f 格式編號 視頻網址通过上一步获取到了所有视频格式的清单,最左边一列就是编号对应着不同的格式.
由于YouTube的1080p及以上的分辨率都是音视频分离的,所以我们需要分别下载视频和音频,可以使用137+140这样的组合.
如果系统中安装了ffmpeg的话, youtube-dl 会自动合并下下好的视频和音频, 然后自动删除单独的音视频文件
➤ 下载字幕
youtubd-dl --write-sub [url] //这样会下载一个vtt格式的英文字幕和mkv格式的1080p视频下来 youtube-dl --write-sub --skip-download [url] //下载单独的vtt字幕文件,而不会下载视频 youtube-dl --write-sub --all-subs [url] //下载所有语言的字幕(如果有的话) youtube-dl --write-auto-sub [url] //下载自动生成的字幕(YouTube only)
➤ 下载视频列表
youtube-dl -f [format code] [palylist_url] //这种方式可以下载制定清晰度的mp4视频 youtube-dl [playlist_url] //下载视频列表,这种方式下载的视频可能是mkv格式或者webm格式 youtube-dl -cit [playlist_url] //下载视频列表,这种方式下载的视频可能是mkv格式或者webm格式 youtube-dl --yes-playlist [url] //当链接为视频列表,则下载该列表视频,跟上面的一样,可能是mkv或者webm格式
▲下载Vimeo视频
Vimeo的视频下载起来比较方便,因为没有分离,可以直接下载1080p带音频的视频。命令与下载YouTube的基本一致;下面贴几张图
↓查看Vimeo视频所有类型
↓直接下载Vimeo最高质量视频
youtube-dl支持的网站很多,大家可以从作者整理的这个列表里查看支持的网站(不过由于有的网站接口改变,可能当初支持的网站现在不能很好的支持了),如果您要下载的视频网站现在不能用youtube-dl下载的,不妨试试另外一个同样基于Python开发的下载工具You-Get,我将在下一篇文章中介绍,希望大家喜欢~
youtube-dl官网:https://yt-dl.org/
GitHub项目:https://github.com/rg3/youtube-dl/
{Youtube-dl安装和使用方法 - 简书}
Usage: youtube-dl [OPTIONS] URL [URL...]
Options:
通用选项:
-h, --help 打印帮助文档
--version 打印版本信息
-U, --update 更新到最新版(需要权限)
-i, --ignore-errors 遇到下载错误时跳过
--abort-on-error 遇到下载错误时终止
--dump-user-agent 显示当前使用的浏览器(User-agent)
--list-extractors 列出所有的提取器(支持的网站)
--extractor-descriptions 同上
--force-generic-extractor 强制使用通用提取器下载
--default-search PREFIX 使用此前缀补充不完整的URLs,例如:"ytsearch2 yt-dl" 从youtube搜索并下载两个关于yt-dl视频. 使用"auto"youtube-dl就会猜一个,一般效果等价于"ytsearch"("auto_warning"猜测时加入警告).我已知支持的PREFIX:ytsearch (youtube), ytsearchdate (youtube), yvsearch (yahoo videos), gvsearch (google videos)
--ignore-config 不读取配置文件,当时用了全局配置文件/etc/youtube-dl.conf:不再读取 ~/.config/youtube-dl/config (%APPDATA%/youtube-dl/config.txt on Windows)
--config-location PATH 使用指定路径下的配置文件
--flat-playlist 列出列表视频但不下载
--mark-watched 标记看过此视频 (YouTube only)
--no-mark-watched 不标记看过此视频 (YouTube only)
--no-color 打印到屏幕上的代码不带色
网络选项:
--proxy URL 使用HTTP/HTTPS/SOCKS协议的代理.如:socks5://127.0.0.1:1080/.
--socket-timeout SECONDS 放弃连接前等待时间
--source-address IP 绑定的客户端IP地址
-4, --force-ipv4 所有连接通过IPv4
-6, --force-ipv6 所有连接通过IPv6
地理限制:
--geo-verification-proxy URL 使用此代理地址测试一些有地理限制的地址
--geo-bypass 绕过地理限制通过伪装X-Forwarded-For HTTP头部的客户端ip (实验)
--no-geo-bypass 不 绕过地理限制通过伪装X-Forwarded-For HTTP头部的客户端ip (实验)
--geo-bypass-country CODE 强制绕过地理限制通过提供准确的ISO 3166-2标准的国别代码(实验)
视频选择:
--playlist-start NUMBER 指定列表中开始下载的视频(默认为1)
--playlist-end NUMBER 指定列表中结束的视频(默认为last)
--playlist-items ITEM_SPEC 指定列表中要下载的视频项目编号.如:"--playlist-items 1,2,5,8"或"--playlist-items 1-3,7,10-13"
--match-title REGEX 下载标题匹配的视频(正则表达式或区分大小写的字符串)
--reject-title REGEX 跳过下载标题匹配的视频(正则表达式或区分大小写的字符串)
--max-downloads NUMBER 下载NUMBER个视频后停止
--min-filesize SIZE 不下载小于SIZE的视频(e.g. 50k or 44.6m)
--max-filesize SIZE 不下载大于SIZE的视频(e.g. 50k or 44.6m)
--date DATE 仅下载上传日期在指定日期的视频
--datebefore DATE 仅下载上传日期在指定日期或之前的视频 (i.e. inclusive)
--dateafter DATE 仅下载上传日期在指定日期或之后的视频 (i.e. inclusive)
--min-views COUNT 不下载观影数小于指定值的视频
--max-views COUNT 不下载观影数大于指定值的视频
--match-filter FILTER 通用视频过滤器.
--xattrs 将元数据写入视频文件的xattrs(使用dublin core 和 xdg标准)
--fixup POLICY 自动更正文件的已知故障。never(不做警告), warn(只发出警告), detect_or_warn (默认;如果可以的话修复文件,否则警告)
--prefer-avconv 后处理时相较ffmpeg偏向于avconv
--prefer-ffmpeg 后处理优先使用ffmpeg
--ffmpeg-location PATH ffmpeg/avconv程序位置;PATH为二进制所在文件夹或者目录.
--exec CMD 在下载后对文件执行命令,类似于find -exec语法.示例:--exec‘adb push {} /sdcard/Music/ && rm {}‘
--convert-subs FORMAT 转换字幕格式(当前支持: srt|ass|vtt)
{Get cookies.txt - Chrome Web Store}若有age restriction影片,先下載cookies到user資料夾,指令為
youtube-dl --cookies youtube.com_cookies.txt -指令 youtube網址














