Mac实用技巧之:下载国内主流视频网站视频
Table of Contents
使用Downie
使用非常简单,打开Downie后,复制要下载的视频地址,然后command+v
粘贴到Downie上即可,如果无法下载,会弹出提示,否则会自动下载:
点击Downie的顶部菜单→Preferences
→Supported Sites
可以查看支持下载哪些网站的视频:
缺点:该软件是收费的,当然你也可以。。。你懂的。
使用you-get(命令工具)
安装you-get
打开终端,运行以下命令安装you-get
工具(未安装brew请先安装brew):
brew install you-get
注:如果你是Mac初级使用者,不知道什么是brew,那我简单说下:brew也叫homebrew,是mac下用来安装一些命令行工具(或者有界面的软件也行)的一个工具,Mac默认没有brew这个工具,你要先安装它,在终端中执行以下命令即可安装:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
使用you-get下载视频:
下载方法很简单,直接you-get 视频网页地址
即可,如(URL也可以加单引号或双引号),为防止不懂命令的童鞋找不到文件,我们最好先执行这个命令cd ~/Downloads
,它会把当前目录切换到下载目录,然后再用下面的命令下载,下载好的文件就会在下载目录中(下同)。
you-get https://www.iqiyi.com/v_19rrofuhi0.html
视频网页地址,就是你看视频那个页面的网址:
有些需要科学上网才能打开的视频网站,比如youtube,就需要使用代理(以shadowsocks为例),注意你电脑上的http代理端口未必跟我一样:
you-get -x http://127.0.0.1:1087 https://www.youtube.com/watch\?v\=fdpJwuKLSx0
一般情况下,像上边那样下载就可以,当然也可以在下载前先查看有哪些格式和分辨率,再指定下载某个分辨率或某个格式的视频:
you-get -x http://127.0.0.1:1087 -i https://www.youtube.com/watch\?v\=fdpJwuKLSx0
site: YouTube
title: 超厲害配音超爆笑粵語
streams: # Available quality and codecs
[ DASH ] ____________________________________
- itag: 133
container: mp4
quality: 292x240
size: 7.7 MiB (8112893 bytes)
# download-with: you-get --itag=133 [URL]
- itag: 160
container: mp4
quality: 176x144
size: 4.9 MiB (5175494 bytes)
# download-with: you-get --itag=160 [URL]
[ DEFAULT ] _________________________________
- itag: 43
container: webm
quality: medium
size: 8.4 MiB (8827470 bytes)
# download-with: you-get --itag=43 [URL]
- itag: 18
container: mp4
quality: medium
# download-with: you-get --itag=18 [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]
如上述信息所示,都已经告诉你怎么下载了,就是在原来的基础上加上–itag=xx就可以,xx是数字(itag值),不同格式(分辨率)都对应一个itag值,例:
you-get -x=http://127.0.0.1:1087 --itag=133 https://www.youtube.com/watch\?v\=fdpJwuKLSx0
注,如果是不需要代理就能访问的网站,就不需要-x=http://127.0.0.1:1087
,而且不是所有网站都有这样的信息,比如爱奇艺经常就只有一种,而且是m3u8格式的,这样你就不要用--itag来指定了,直接下载它会自动转mp4。
该方法可以下载腾讯视频、微信公众号、爱奇艺的视频,其他视频网页可以自己试试,有可能可以下载,但不一定可以。
微信公众号的视频,其实就是引用的腾讯视频,如果你是在手机微信上看的,你可以点击微信右上角三个点,然后选择在浏览器中打开,再把浏览器的地址粘贴用微信或QQ发到电脑上(如果是iPhone,也可以用Airdrop分享到电脑上)
在电脑上打开该地址,右击视频,点击复制视频页面地址
,这个地址即是腾讯视频播放页面地址,把它放在you-get后面即可下载。
下载优酷视频
优酷有部分视频是可以直接像上面一样的方法下载的(但最近有问题,无法下载,以后应该会修复),但是有部分视频无法使用you-get
下载,其实下载优酷的视频更简单,在优酷视频播放页面空白处右击鼠标→点击Inspect Element
,如果你是中文版,可能显示的是审查元素
。
找到video标签,右击→选择Open in New Tab
,如果是中文应该是在新标签中打开
:
打开后直接command+s
即可保存(即下载)该视频,但是点保存前,要看看是m3u8的还是mp4的,如果mp4的,直接点右下角保存即可。如果是m3u8请往下看。
下载m3u8视频
如果视频是直接链接,但是链接直接保存有可能是m3u8,如下图所示,则不能直接保存,否则保存了也看不了。
m3u8要使用ffmpeg来保存,先安装ffmpeg
brew install ffmpeg
然后使用以下命令保存视频,其中保存的视频名称是你自己命的名称,随便写都可以。
ffmpeg -i 视频地址 保存的视频名称.mp4
- 例如
ffmpeg -i https://pl-ali.youku.com/playlist/m3u8?vid=XNTE2MTUyNjc2&type=flvhdv3&ups_client_netip=715bd1f0&utid=EbVIFNItp2ICAXFb0fBybXbF&ccode=0502&psid=6b9e3e1e62a816708c9534cfb446aacf&duration=120&expire=18000&drm_type=1&drm_device=7&ups_ts=1539426260&onOff=0&encr=0&ups_key=23549e2aed789bb979fa91a22ae34c73 臭屁虫.mp4
注意-i
后面的地址不是原始视频页面的地址,而是按上边的操作:审查元素→找到video标签→在新标签中打开后,地址栏的地址
ffmpeg的-i的i表示input(输入文件地址),因为ffmpeg是可以用来转换格式的,上边的命令,其实相当于用ffmpeg把m3u8格式视频转成mp4格式,只不过视频的输入地址不是本地文件地址,而是一个网址。
下载youtube视频
除了用you-get
下载youtube视频,还可以用youtube-dl
,使用也差不多,先安装
brew install youtube-dl
使用youtube-dl
下载youtube视频:
使用socks5代理:
youtube-dl --proxy='socks5://127.0.0.1:1086' URL
或使用http代理:
youtube-dl --proxy='http://127.0.0.1:1087' URL
例:
youtube-dl --proxy='socks5://127.0.0.1:1086' https://www.youtube.com/watch\?v\=fdpJwuKLSx0
或
youtube-dl --proxy='http://127.0.0.1:1087' https://www.youtube.com/watch\?v\=fdpJwuKLSx0
先查看有什么格式可以下载:
youtube-dl --list-formats https://www.youtube.com/watch\?v\=SIPUwJcE678
# --list-formats可以简写成 -F
youtube-dl -F https://www.youtube.com/watch\?v\=SIPUwJcE678
[youtube] SIPUwJcE678: Downloading webpage
[info] Available formats for SIPUwJcE678:
format code extension resolution note
249 webm audio only tiny 59k , opus @ 50k (48000Hz), 1.18MiB
250 webm audio only tiny 78k , opus @ 70k (48000Hz), 1.57MiB
140 m4a audio only tiny 130k , m4a_dash container, mp4a.40.2@128k (44100Hz), 2.73MiB
251 webm audio only tiny 148k , opus @160k (48000Hz), 3.06MiB
278 webm 256x144 144p 83k , webm container, vp9, 30fps, video only, 1.69MiB
160 mp4 256x144 144p 96k , avc1.4d400c, 30fps, video only, 1.62MiB
242 webm 426x240 240p 140k , vp9, 30fps, video only, 2.54MiB
133 mp4 426x240 240p 200k , avc1.4d4015, 30fps, video only, 3.53MiB
243 webm 640x360 360p 235k , vp9, 30fps, video only, 4.33MiB
134 mp4 640x360 360p 353k , avc1.4d401e, 30fps, video only, 6.31MiB
244 webm 854x480 480p 360k , vp9, 30fps, video only, 6.58MiB
135 mp4 854x480 480p 563k , avc1.4d401f, 30fps, video only, 10.48MiB
247 webm 1280x720 720p 647k , vp9, 30fps, video only, 12.09MiB
248 webm 1920x1080 1080p 947k , vp9, 30fps, video only, 16.92MiB
136 mp4 1280x720 720p 1111k , avc1.4d401f, 30fps, video only, 20.75MiB
137 mp4 1920x1080 1080p 2145k , avc1.640028, 30fps, video only, 41.09MiB
18 mp4 640x360 360p 423k , avc1.42001E, 30fps, mp4a.40.2@ 96k (44100Hz), 8.92MiB (best)
可以看到每个格式前面都有一个编号,要下载某个格式,只需要用-f
指定它的编号即可,比如我要下载最后一个,即22号
youtube-dl -f 18 https://www.youtube.com/watch\?v\=SIPUwJcE678
如果你认真的看上边的列表,你会发现有些是audio only(仅音频),有些是video only(仅视频,无声音),而那些有视频和声音的mp4格式的,分辨率却很小(比如18号),分辨率大的却是video only(无声视频),另外其实还有些分辨率合适(比如1280*720
),但格式却不是mp4的(一般是webm),不过在本例倒是没有这样的。
想上面的例子,如果我想下载分辨率高的mp4格式的,音质又要好的,怎么办?
答案是用+
号,比如我想要136号视频和140号音频,可以这样下载
youtube-dl -f 136+140 https://www.youtube.com/watch\?v\=SIPUwJcE678
youtube-dl会自动合并视频和音频,所以实际下载下来的会是一个有声的视频。
注意:
1、必须视频编号在前,音频编号在后,否则报错;
2、本地必须安装ffmpeg(brew install ffmpeg
),因为下载后其实是用ffmpeg合并的,只不过下载完它会自动调用ffmpeg来合并而已。
3、视频必须选择avc开头的(比如avc1,不要选av01的),因为avc的是标准的x264编码的mp4,其它的不是x264编码,会导致有些播放器打不开,比如用按空格无法播放(只有x264编码的视频可以用空格预览播放)
下载有道精品课的视频
有道精品课的视频或者类似的视频,因为要登录账号才能看,目前我知道的就是使用IDM(Internet Download Manager),但它只支持Windows:http://www.internetdownloadmanager.com,下载好后,先要打开谷歌浏览器,然后再安装IDM,IDM安装好后,会自动弹出谷歌浏览器插件已安装(或者火狐浏览器也是可以的),然后,用你的浏览器打开你要下载的视频的播放页,比如我的有道精品课,如下图,视频右上角就有个下载按钮,点击下载即可(注意这个过程并不是打开安装好的那个IDM,而是直接在浏览器上点下载就行,但这个插件是依赖于那个IDM的,你点击下载,会自动打开IDM的,不过不会打开窗口,只是右下角有个图标)。