在 Ubuntu 上安装并使用 YouTube-DL
创始人
2024-03-01 21:33:31
0

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 特权。

让我们首先用下面命令升级系统到最新版:

sudo apt-get update -y
sudo apt-get upgrade -y

然后重启系统应用这些变更。

安装 Youtube-dl

默认情况下,Youtube-dl 并不在 Ubuntu-16.04 仓库中。你需要从官网上来下载它。使用 curl 命令可以进行下载:

首先,使用下面命令安装 curl

sudo apt-get install curl -y

然后,下载 youtube-dl 的二进制包:

curl -L https://yt-dl.org/latest/youtube-dl -o /usr/bin/youtube-dl

接着,用下面命令更改 youtube-dl 二进制包的权限:

sudo chmod 755 /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       256x144    144p   97k , 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       426x240    240p  221k , vp9, 24fps, video only, 1.74MiB
134          mp4        640x360    DASH video  369k , avc1.4d401e, 24fps, video only, 2.90MiB
243          webm       640x360    360p  500k , vp9, 24fps, video only, 4.15MiB
135          mp4        854x480    DASH video  746k , avc1.4d401e, 24fps, video only, 6.11MiB
244          webm       854x480    480p  844k , vp9, 24fps, video only, 7.27MiB
247          webm       1280x720   720p 1155k , vp9, 24fps, video only, 9.21MiB
136          mp4        1280x720   DASH video 1300k , avc1.4d401f, 24fps, video only, 9.66MiB
248          webm       1920x1080  1080p 1732k , vp9, 24fps, video only, 14.24MiB
137          mp4        1920x1080  DASH video 2217k , avc1.640028, 24fps, video only, 15.28MiB
17           3gp        176x144    small , mp4v.20.3, mp4a.40.2@ 24k
36           3gp        320x180    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

该命令会下载 640x360 分辨率的 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 2 Trailer no 2 _ Filmybox-j_JgXJ-apXs.mp4
[download] 100% of 6.90MiB in 00: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

sudo apt-get update -y
sudo apt-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中国 荣誉推出

相关内容

元宝:AI 下乡崛起 月下...
【元宝在 AI 领域崛起,搅动市场格局】元宝将广告打到村口,以“免...
2025-03-17 15:14:24
昆仑万维视频生成模型Sky...
自2月18日,昆仑万维开源视频生成模型SkyReels-V1发布以...
2025-02-26 23:16:32
DeepSeek-R1下载...
文|数据猿 发布仅仅一个月左右,DeepSeek-R1成为Hug...
2025-02-18 12:53:15
BytesIO-从S3下载...
此问题可能出现在从S3下载文件时使用了错误的对象。以下是一个示例代...
2025-01-12 22:37:45
不执行的情况下下载一个 ....
在不执行的情况下下载一个 .php 文件,可以通过以下几种方式解决...
2025-01-12 12:01:48
不知道URL的情况下,从b...
要在不知道URL的情况下从blob WKWebView下载图像,可...
2025-01-12 09:01:34

热门资讯

使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
2024 开年,LLUG 和你... Hi,Linuxer,2024 新年伊始,不知道你是否已经准备好迎接新的一年~ 2024 年,Lin...
Bazzite:专为 Stea... 为 Linux 桌面或者 Steam Deck 做好游戏准备,听起来都很刺激!对于一个专为 Linu...
Motrix:一个漂亮的跨平台... 一个开源的下载管理器,提供了一个简洁的用户界面,同时提供了跨平台操作的所有基本功能。在这里了解关于它...
Bash 脚本中如何使用 he... here 文档 here document (LCTT 译注:here 文档又称作 heredoc ...
使用 dialog 和 jq ... 为何选择文字用户界面(TUI)?许多人每日都在使用终端,因此, 文字用户界面 Text User I...