目录

使用youtube-dl便捷下载YouTube视频

youtube-dl 是什么?

youtube-dl 是用于下载 youtube 及其它平台视频的一个命令行工具。

官网:https://yt-dl.org/

源码:https://github.com/ytdl-org/youtube-dl

为什么使用

因为想下载 youtube 的视频,找了一些嗅探工具,虽然能拿到视频地址,但 youtube 高清晰度的视频,视频和音频是分开的,就意味着你想下载一个 1080P 的视频,你只能下载无声的视频和音频,再使用软件合并两者,才能得到一个完整的视频。这显然太过于麻烦,我也找了一些可以在线下载合并的网站,需要长时间等待,效率太低。最后搜索到了 youtube-dl,了解到功能后,直呼神器。

下载youtube-dl

下载地址:https://github.com/ytdl-org/youtube-dl/releases

LinuxOS X 安装方式,输入命令:

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

更多安装教程:https://github.com/ytdl-org/youtube-dl#installation

下载影片

获取影片资源

命令为:youtube-dl -F [url]

例如:

youtube-dl -F https://www.youtube.com/watch\?v\=jL1qC86S1kg

返回所有资源:

youtube-dl -F https://www.youtube.com/watch\?v\=jL1qC86S1kg
[youtube] jL1qC86S1kg: Downloading webpage
[youtube] jL1qC86S1kg: Downloading video info webpage
[youtube] jL1qC86S1kg: Downloading MPD manifest
[info] Available formats for jL1qC86S1kg:
format code  extension  resolution note
139          m4a        audio only DASH audio   51k , m4a_dash container, mp4a.40.5@ 48k (22050Hz)
140          m4a        audio only DASH audio  130k , m4a_dash container, mp4a.40.2@128k (44100Hz)
278          webm       256x144    DASH video   95k , webm_dash container, vp9, 25fps, video only
160          mp4        256x144    DASH video  108k , mp4_dash container, avc1.4d400b, 25fps, video only
242          webm       426x240    DASH video  220k , webm_dash container, vp9, 25fps, video only
133          mp4        426x240    DASH video  242k , mp4_dash container, avc1.4d400c, 25fps, video only
243          webm       640x360    DASH video  405k , webm_dash container, vp9, 25fps, video only
134          mp4        640x360    DASH video  430k , mp4_dash container, avc1.4d401e, 25fps, video only
244          webm       854x480    DASH video  752k , webm_dash container, vp9, 25fps, video only
135          mp4        854x480    DASH video 1155k , mp4_dash container, avc1.4d4014, 25fps, video only
247          webm       1280x720   DASH video 1505k , webm_dash container, vp9, 25fps, video only
136          mp4        1280x720   DASH video 2310k , mp4_dash container, avc1.4d4016, 25fps, video only
248          webm       1920x1080  DASH video 2646k , webm_dash container, vp9, 25fps, video only
137          mp4        1920x1080  DASH video 2690k , mp4_dash container, avc1.640028, 25fps, video only
18           mp4        640x360    medium , avc1.42001E, mp4a.40.2@ 96k, 12.23MiB (best)

可见序号137是 1080P 的 MP4 视频,139和140都是音频。

下载命令:youtube-dl -f [序号] [url]

例如:

youtube-dl -f 137 https://www.youtube.com/watch\?v\=jL1qC86S1kg

但是,我们不能这样直接下,因为我们仔细看这条记录:

137          mp4        1920x1080  DASH video 2690k , mp4_dash container, avc1.640028, 25fps, video only

上面说了 video only,也就是只有视频,没有音频,我们需要将视频和音频一起合并后再下载,这时候就需要 ffmpeg 了。

安装 FFmpeg

由于CentOS没有官方FFmpeg rpm软件包。但是,我们可以使用第三方YUM源(Nux Dextop)完成此工作。

sudo rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro
sudo rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm
sudo yum install ffmpeg ffmpeg-devel -y

输入命令 ffmpeg 即可测试是否安装成功。

合并视频音频后下载

命令:youtube-dl -f [format code] --merge-output-format [format] [url]

例如:

youtube-dl -f 137+140 --merge-output-format mp4 https://www.youtube.com/watch\?v\=jL1qC86S1kg

查找缩略图

命令:youtube-dl --list-thumbnails [url]

--write-thumbnail 把缩略图写入硬盘
--write-all-thumbnails 将所有缩略图写入磁盘
--list-thumbnails 列出所有可用的缩略图格式

例如:

列出缩略图:

youtube-dl --list-thumbnails https://www.youtube.com/watch\?v\=jL1qC86S1kg

下载合并后视频及缩略图:

youtube-dl -f 136+140 --merge-output-format mp4 --write-thumbnail https://www.youtube.com/watch\?v\=uxgpj9NnRMc

设置代理

socks5代理

youtube-dl --proxy socks5://127.0.0.1:1080 [url]

http代理

youtube-dl --proxy http://127.0.0.1:8118 [url]

例如:

设置代理下载合并后视频及缩略图:

youtube-dl --proxy socks5://127.0.0.1:8071 -f 136+140 --merge-output-format mp4 --write-thumbnail https://www.youtube.com/watch\?v\=uxgpj9NnRMc

后记

youtube-dl 还能下载很多资源,如字幕,也可以下载其它平台的资源,如 bilibili,还有更多功能大家可以看文档:https://github.com/ytdl-org/youtube-dl

参考资料

Youtube-dl食用技巧

youtube-dl 使用小记

CentOS中yum安装ffmpeg

youtube-dl 下载视频没有声音