下载Youtube的强大工具youtube-dl
之前一直使用FastestTube来下载Youtube视频,昨天朋友介绍Youtube-dl这个工具,发现下载速度更稳定更快。而且之前遇到1080P甚至4K的视频,视音频是分离的,FastestTube也只能分开下载,Youtube-dl可以完美解决这个问题。
安装:打开终端,输入
- sudo curl https://yt-dl.org/latest/youtube-dl -o /usr/local/bin/youtube-dl
- sudo chmod a+x /usr/local/bin/youtube-dl
复制代码
或者
- sudo wget https://yt-dl.org/downloads/latest/youtube-dl -O /usr/local/bin/youtube-dl
- sudo chmod a+x /usr/local/bin/youtube-dl
复制代码
或者用Homebrew安装
- brew install youtube-dl
复制代码
或者用pip安装
- sudo pip install youtube-dl
复制代码
安装完毕以后我们就可以使用youtube-dl 命令来下载Youtube视频了,比如
- youtube-dl 视频地址
复制代码
使用代.理的方法
- youtube-dl –proxy localhost:12345 视频地址
复制代码
<ignore_js_op style=”color: #111111;”>

下载速度很稳定,我用浏览器下载大概2-3MB/s,这里下载一直保持5MB/s左右。
以上是最基本的下载使用,下面来说进阶使用。比如下载4K视频,Youtube上基本720P以上的节目都是视音频分离的
<ignore_js_op style=”color: #111111;”>

使用一般的下载工具或插件是没有办法得到完整的视频的。
比如https://www.youtube.com/watch?v=Zk9J5xnTVMA这个视频,我们使用youtube-dl -Fhttps://www.youtube.com/watch?v=Zk9J5xnTVMA可以得到这个结果
<ignore_js_op>

我们可以看到这个视频在Youtube服务器上完整的视频最高质量只有720P的MP4,其余的都是视音频分离的。
我们可以使用youtube-dl -f format code 来选择下载列出的任何一条源,但如果我们想直接下载最高质量的4K完整视频,可以使用youtube-dl配合ffmpeg来实现。安装ffmpeg后,使用下面的命令就可以下载得到最高质量包含音频的4K视频
- youtube-dl –proxy localhost:12345 -f bestvideo+bestaudio 视频地址
复制代码
youtube-dl还有很多参数和用法,包括筛选视频大小,视频时间段,播放列表等选项,可使用youtube-dl -h查看
有些朋友可能觉得用命令行来下载太麻烦了,目前我和我朋友分别使用两种方法来方便下载。我朋友是使用DTerm+text expander,用快捷键呼出DTerm,然后输入ytdl,即可下载当前Safari页面的Youtube视频。不过text expander有点贵,我就只用来下载Youtube不值得。所以我使用AppleScript来实现。
- do shell script “/usr/local/bin/youtube-dl –proxy localhost:12345 ” & (the clipboard) & ” “
复制代码
将上面的命令写入AppleScript,保存为App。每次直接复制Youtube视频连接,然后执行这个App,即可下载视频了。
<ignore_js_op style=”color: #111111;”>

用Automator制作一个执行以下命令的App,可直接下载当前Safari页面的Youtube视频
- youtube-dl –proxy localhost:12505 -f best `osascript -e ‘tell application “Safari”‘ -e ‘set currentTab to current tab of front window’ -e ‘set currURL to URL of currentTab’ -e ‘end tell’ -e ‘return currURL’`
复制代码
P.S 关于ffmpeg的安装 http://www.qiaogao.net/lessons/2014/08/02/ffmpeg/
https://bbs.feng.com/read-htm-tid-8856281.html