背景
由于现在各大网站资源版权的保护性越来越强,很多资源都是无法下载的,需要开通会员等收费操作,相信很多小伙伴只是为了下载极少部分资源,有时候很不情愿去开通会员,这时候可以给大家推荐两个好用的命令行下载工具 you-get
和 youtube-dl
。下面给大家简单介绍下Mac OS下如何安装和使用这两款工具。
命令行视频下载工具 you-get
和 youtube-dl
you-get
和 youtube-dl
都是基于 Python 的命令行媒体文件下载工具,完全开源免费跨平台。用户只需使用简单命令并提供在线视频的网页地址即可让程序自动进行嗅探、下载、合并、命名和清理,最终得到已经命名的完整视频文件。两者搭配使用几乎可以下载所有主流视频网站的视频及有关资源,配合本地播放器还可直接播放在线视频,彻底避免广告和浏览器插件的困扰。
you-get
官网:https://you-get.org/
Github 项目:https://github.com/soimort/you-get
(Windows安装可参考上面github 项目,有多种的安装方法)
安装方法
前提你的电脑安装了 Homebrew,在命令行执行以下代码
brew install you-get
下载视频
- 使用-info/-i选项来查看所有可用的质量和格式;
$ you-get -i 'https://www.youtube.com/watch?v=jNQXAC9IVRw'
site: YouTube
title: Me at the zoo
streams: # Available quality and codecs
[ DEFAULT ] _________________________________
- itag: 43
container: webm
quality: medium
size: 0.5 MiB (564215 bytes)
# download-with: you-get --itag=43 [URL]
- itag: 18
container: mp4
quality: medium
# download-with: you-get --itag=18 [URL]
- itag: 5
container: flv
quality: small
# download-with: you-get --itag=5 [URL]
- itag: 36
container: 3gp
quality: small
# download-with: you-get --itag=36 [URL]
- itag: 17
container: 3gp
quality: small
# download-with: you-get --itag=17 [URL]
- 下载
$ you-get 'https://www.youtube.com/watch?v=jNQXAC9IVRw'
site: YouTube
title: Me at the zoo
stream:
- itag: 43
container: webm
quality: medium
size: 0.5 MiB (564215 bytes)
# download-with: you-get --itag=43 [URL]
Downloading zoo.webm ...
100.0% ( 0.5/0.5 MB) ├████████████████████████████████████████┤[1/1] 7 MB/s
Saving Me at the zoo.en.srt ...Done.
注意:
- 目前,大多数支持的网站还没有实现格式选择;在这种情况下,下载的默认格式是质量最高的格式。
- 在下载和连接多个部分的视频流(例如在优酷等网站上),以及1080p或高分辨率的YouTube视频,
ffmpeg
是必需的依赖。 - 如果你不想在下载后加入视频部分,可使用
-no-merge/-n
选项。
- 暂停并继续下载
- 可以使用Ctrl+C来中断下载。
- 要强制重新下载,请使用
-force/-f选项
(警告:这样做会覆盖任何同名的现有文件或临时文件!)
- 设置下载文件的路径和名称
使用-output-dir/-o
选项设置路径,以及-output-filename/ -o
设置下载文件的名称
$ you-get -o ~/Videos -O zoo.webm 'https://www.youtube.com/watch?v=jNQXAC9IVRw'
以上基本就是常用到的命令了,还有一些功能的命令不常用,这里就不写了,感兴趣的可以去参考上面的Github 项目,有详细的操作指令。
支持的网站
Site | URL | Videos? | Images? | Audios? |
---|---|---|---|---|
YouTube | https://www.youtube.com/ | ✅ | ||
https://twitter.com/ | ✅ | ✅ | ||
VK | http://vk.com/ | ✅ | ✅ | |
Vine | https://vine.co/ | ✅ | ||
Vimeo | https://vimeo.com/ | ✅ | ||
Vidto | http://vidto.me/ | ✅ | ||
Videomega | http://videomega.tv/ | ✅ | ||
Veoh | http://www.veoh.com/ | ✅ | ||
Tumblr | https://www.tumblr.com/ | ✅ | ✅ | ✅ |
TED | http://www.ted.com/ | ✅ | ||
SoundCloud | https://soundcloud.com/ | ✅ | ||
SHOWROOM | https://www.showroom-live.com/ | ✅ | ||
https://www.pinterest.com/ | ✅ | |||
MusicPlayOn | http://en.musicplayon.com/ | ✅ | ||
MTV81 | http://www.mtv81.com/ | ✅ | ||
Mixcloud | https://www.mixcloud.com/ | ✅ | ||
Metacafe | http://www.metacafe.com/ | ✅ | ||
Magisto | http://www.magisto.com/ | ✅ | ||
Khan Academy | https://www.khanacademy.org/ | ✅ | ||
Internet Archive | https://archive.org/ | ✅ | ||
https://instagram.com/ | ✅ | ✅ | ||
InfoQ | http://www.infoq.com/presentations/ | ✅ | ||
Imgur | http://imgur.com/ | ✅ | ||
Heavy Music Archive | http://www.heavy-music.ru/ | ✅ | ||
Google+ | https://plus.google.com/ | ✅ | ✅ | |
Freesound | http://www.freesound.org/ | ✅ | ||
Flickr | https://www.flickr.com/ | ✅ | ✅ | |
FC2 Video | http://video.fc2.com/ | ✅ | ||
https://www.facebook.com/ | ✅ | |||
eHow | http://www.ehow.com/ | ✅ | ||
Dailymotion | http://www.dailymotion.com/ | ✅ | ||
Coub | http://coub.com/ | ✅ | ||
CBS | http://www.cbs.com/ | ✅ | ||
Bandcamp | http://bandcamp.com/ | ✅ | ||
AliveThai | http://alive.in.th/ | ✅ | ||
interest.me | http://ch.interest.me/tvn | ✅ | ||
755 ナナゴーゴー | http://7gogo.jp/ | ✅ | ✅ | |
niconico ニコニコ動画 | http://www.nicovideo.jp/ | ✅ | ||
163 网易视频 网易云音乐 | http://v.163.com/ http://music.163.com/ | ✅ | ✅ | |
56网 | http://www.56.com/ | ✅ | ||
AcFun | http://www.acfun.tv/ | ✅ | ||
Baidu 百度贴吧 | http://tieba.baidu.com/ | ✅ | ✅ | |
爆米花网 | http://www.baomihua.com/ | ✅ | ||
bilibili 哔哩哔哩 | http://www.bilibili.com/ | ✅ | ||
Dilidili | http://www.dilidili.com/ | ✅ | ||
豆瓣 | http://www.douban.com/ | ✅ | ✅ | |
斗鱼 | http://www.douyutv.com/ | ✅ | ||
Panda 熊猫 | http://www.panda.tv/ | ✅ | ||
凤凰视频 | http://v.ifeng.com/ | ✅ | ||
风行网 | http://www.fun.tv/ | ✅ | ||
iQIYI 爱奇艺 | http://www.iqiyi.com/ | ✅ | ||
激动网 | http://www.joy.cn/ | ✅ | ||
酷6网 | http://www.ku6.com/ | ✅ | ||
酷狗音乐 | http://www.kugou.com/ | ✅ | ||
酷我音乐 | http://www.kuwo.cn/ | ✅ | ||
乐视网 | http://www.le.com/ | ✅ | ||
荔枝FM | http://www.lizhi.fm/ | ✅ | ||
秒拍 | http://www.miaopai.com/ | ✅ | ||
MioMio弹幕网 | http://www.miomio.tv/ | ✅ | ||
痞客邦 | https://www.pixnet.net/ | ✅ | ||
PPTV聚力 | http://www.pptv.com/ | ✅ | ||
齐鲁网 | http://v.iqilu.com/ | ✅ | ||
QQ 腾讯视频 | http://v.qq.com/ | ✅ | ||
企鹅直播 | http://live.qq.com/ | ✅ | ||
Sina 新浪视频 微博秒拍视频 | http://video.sina.com.cn/ http://video.weibo.com/ | ✅ | ||
Sohu 搜狐视频 | http://tv.sohu.com/ | ✅ | ||
Tudou 土豆 | http://www.tudou.com/ | ✅ | ||
虾米 | http://www.xiami.com/ | ✅ | ✅ | |
阳光卫视 | http://www.isuntv.com/ | ✅ | ||
音悦Tai | http://www.yinyuetai.com/ | ✅ | ||
Youku 优酷 | http://www.youku.com/ | ✅ | ||
战旗TV | http://www.zhanqi.tv/lives | ✅ | ||
央视网 | http://www.cntv.cn/ | ✅ | ||
花瓣 | http://huaban.com/ | ✅ | ||
Naver 네이버 | http://tvcast.naver.com/ | ✅ | ||
芒果TV | http://www.mgtv.com/ | ✅ | ||
火猫TV | http://www.huomao.com/ | ✅ | ||
全民直播 | http://www.quanmin.tv/ | ✅ | ||
阳光宽频网 | http://www.365yg.com/ | ✅ | ||
西瓜视频 | https://www.ixigua.com/ | ✅ | ||
快手 | https://www.kuaishou.com/ | ✅ | ✅ | |
抖音 | https://www.douyin.com/ | ✅ | ||
中国体育(TV) | http://v.zhibo.tv/ http://video.zhibo.tv/ | ✅ |
温馨提示:
如果下载资源时无响应,可 Ctrl+C
暂停,再次重新执行下载命令。
youtube-dl
主页:http://rg3.github.io/youtube-dl/
github 项目:https://github.com/rg3/youtube-dl
(Windows安装可参考上面github 项目,有多种的安装方法)
安装方法
方法一:
brew install youtube-dl
方法二:
sudo curl -L https://yt-dl.org/downloads/latest/youtube-dl -o /usr/local/bin/youtube-dl
sudo chmod a+rx /usr/local/bin/youtube-dl
方法三:
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
下载视频
- 下载在线视频
youtube-dl [视频网址]
- 查看指定网页所有视频格式
youtube-dl -F [视频网址]
- 下载指定格式的媒体文件
youtube-dl -f [format code] [视频网址]
命令参数
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 通用视频过滤器. Specify any key (see help for -o for a list of available keys) to match if the key is present, !key to check if the key is not present, key > NUMBER (like "comment_count > 12", also works with >=, <, <=, !=, =) to compare against a number,key = ‘LITERAL‘ (like "uploader = ‘Mike Smith‘", also works with !=) to match against a string literal and & to require multiple matches. Values which are not known are excluded unless you put a question mark (?) after the operator. For example, to only match videos that have been liked more than 100 times and disliked less than 50 times (or the dislike functionality is not available at the given service), but who also have a description, use --match-filter "like_count > 100 & dislike_count .+?) - (?P.+)"
--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)
youtube-dl
操作很多,暂未使用,在此记录下一并分享给大家,对其他操作有兴趣的可自行参看文档