Youtube-dl 是一个自由开源的命令行视频下载工具,可以用来从 Youtube 等类似的网站上下载视频,目前它支持的网站除了 Youtube 还有 Facebook、Dailymotion、Google Video、Yahoo 等等。它构架于 pygtk 之上,需要 Python 的支持来运行。它支持很多操作系统,包括 Windows、Mac 以及 Unix。Youtube-dl 还有断点续传、下载整个频道或者整个播放清单中的视频、添加自定义的标题、代理等等其他功能。
本文中,我们将来学习如何在 Ubuntu 16.04 上安装并使用 Youtube-dl 和 Youtube-dlg。我们还会学习如何以不同质量,不同格式来下载 Youtube 中的视频。
前置需求
- 一台运行 Ubuntu 16.04 的服务器。
- 非 root 用户但拥有 sudo 特权。
让我们首先用下面命令升级系统到最新版:
sudoapt-get update -y
sudoapt-get upgrade -y
然后重启系统应用这些变更。
安装 Youtube-dl
默认情况下,Youtube-dl 并不在 Ubuntu-16.04 仓库中。你需要从官网上来下载它。使用 curl
命令可以进行下载:
首先,使用下面命令安装 curl
:
sudoapt-get install curl -y
然后,下载 youtube-dl
的二进制包:
curl -L https://yt-dl.org/latest/youtube-dl -o /usr/bin/youtube-dl
接着,用下面命令更改 youtube-dl
二进制包的权限:
sudochmod755/usr/bin/youtube-dl
youtube-dl
算是安装好了,现在可以进行下一步了。
使用 Youtube-dl
运行下面命令会列出 youtube-dl
的所有可选项:
youtube-dl --h
youtube-dl
支持多种视频格式,像 Mp4,WebM,3gp,以及 FLV 都支持。你可以使用下面命令列出指定视频所支持的所有格式:
youtube-dl -F https://www.youtube.com/watch?v=j_JgXJ-apXs
如下所示,你会看到该视频所有可能的格式:
[info]Available formats for j_JgXJ-apXs:
format code extension resolution note
139 m4a audio only DASH audio 56k, m4a_dash container, mp4a.40.5@48k(22050Hz),756.44KiB
249 webm audio only DASH audio 56k, opus @50k,724.28KiB
250 webm audio only DASH audio 69k, opus @70k,902.75KiB
171 webm audio only DASH audio 110k, vorbis@128k,1.32MiB
251 webm audio only DASH audio 122k, opus @160k,1.57MiB
140 m4a audio only DASH audio 146k, m4a_dash container, mp4a.40.2@128k(44100Hz),1.97MiB
278 webm 256x144144p97k, webm container, vp9,24fps, video only,1.33MiB
160 mp4 256x144 DASH video 102k, avc1.4d400c,24fps, video only,731.53KiB
133 mp4 426x240 DASH video 174k, avc1.4d4015,24fps, video only,1.36MiB
242 webm 426x240240p221k, vp9,24fps, video only,1.74MiB
134 mp4 640x360 DASH video 369k, avc1.4d401e,24fps, video only,2.90MiB
243 webm 640x360360p500k, vp9,24fps, video only,4.15MiB
135 mp4 854x480 DASH video 746k, avc1.4d401e,24fps, video only,6.11MiB
244 webm 854x480480p844k, vp9,24fps, video only,7.27MiB
247 webm 1280x720720p1155k, vp9,24fps, video only,9.21MiB
136 mp4 1280x720 DASH video 1300k, avc1.4d401f,24fps, video only,9.66MiB
248 webm 1920x10801080p1732k, vp9,24fps, video only,14.24MiB
137 mp4 1920x1080 DASH video 2217k, avc1.640028,24fps, video only,15.28MiB
173gp176x144 small , mp4v.20.3, mp4a.40.2@24k
363gp320x180 small , mp4v.20.3, mp4a.40.2
43 webm 640x360 medium , vp8.0, vorbis@128k
18 mp4 640x360 medium , avc1.42001E, mp4a.40.2@96k
22 mp4 1280x720 hd720 , avc1.64001F, mp4a.40.2@192k(best)
然后使用 -f
指定你想要下载的格式,如下所示:
youtube-dl -f 18 https://www.youtube.com/watch?v=j_JgXJ-apXs
该命令会下载 640×360 分辨率的 mp4 格式的视频:
[youtube] j_JgXJ-apXs:Downloading webpage
[youtube] j_JgXJ-apXs:Downloading video info webpage
[youtube] j_JgXJ-apXs:Extracting video information
[youtube] j_JgXJ-apXs:Downloading MPD manifest
[download]Destination: B.A. PASS 2Trailerno2 _ Filmybox-j_JgXJ-apXs.mp4
[download]100% of 6.90MiBin00:47
如果你想以 mp3 音频的格式下载 Youtube 视频,也可以做到:
youtube-dl https://www.youtube.com/watch?v=j_JgXJ-apXs -x --audio-format mp3
你也可以下载指定频道中的所有视频,只需要把频道的 URL 放到后面就行,如下所示:
youtube-dl -citw https://www.youtube.com/channel/UCatfiM69M9ZnNhOzy0jZ41A
若你的网络需要通过代理,那么可以使用 --proxy
来下载视频:
youtube-dl --proxy http://proxy-ip:port https://www.youtube.com/watch?v=j_JgXJ-apXs
若想一条命令下载多个 Youtube 视频,那么首先把所有要下载的 Youtube 视频 URL 存在一个文件中(假设这个文件叫 youtube-list.txt
),然后运行下面命令:
youtube-dl -a youtube-list.txt
安装 Youtube-dl GUI
若你想要图形化的界面,那么 youtube-dlg
是你最好的选择。youtube-dlg
是一款由 wxPython 所写的免费而开源的 youtube-dl
界面。
该工具默认也不在 Ubuntu 16.04 仓库中。因此你需要为它添加 PPA。
sudo add-apt-repository ppa:nilarimogard/webupd8
下一步,更新软件包仓库并安装 youtube-dlg
:
sudoapt-get update -y
sudoapt-get install youtube-dlg -y
安装好 Youtube-dl 后,就能在 Unity Dash 中启动它了:
现在你只需要将 URL 粘贴到上图中的 URL 域就能下载视频了。Youtube-dlg 对于那些不太懂命令行的人来说很有用。
结语
恭喜你!你已经成功地在 Ubuntu 16.04 服务器上安装好了 youtube-dl 和 youtube-dlg。你可以很方便地从 Youtube 及任何 youtube-dl 支持的网站上以任何格式和任何大小下载视频了。
via: https://www.howtoforge.com/tutorial/install-and-use-youtube-dl-on-ubuntu-1604/
作者:Hitesh Jethva 译者:lujun9972 校对:wxy
本文由 LCTT 原创编译,Linux中国 荣誉推出
本文永久更新链接地址:http://www.linuxidc.com/Linux/2018-01/150362.htm