在 Ubuntu 上安裝並使用 YouTube-DL
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
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive