在 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 -ynsudo apt-get upgrade -yn
然後重啟系統應用這些變更。
安裝 Youtube-dl
默認情況下,Youtube-dl 並不在 Ubuntu-16.04 倉庫中。你需要從官網上來下載它。使用 curl 命令可以進行下載:
首先,使用下面命令安裝 curl:
sudo apt-get install curl -yn
然後,下載 youtube-dl 的二進位包:
curl -L https://yt-dl.org/latest/youtube-dl -o /usr/bin/youtube-dln
接著,用下面命令更改 youtube-dl 二進位包的許可權:
sudo chmod 755 /usr/bin/youtube-dln
youtube-dl 算是安裝好了,現在可以進行下一步了。
使用 Youtube-dl
運行下面命令會列出 youtube-dl 的所有可選項:
youtube-dl --hn
youtube-dl 支持多種視頻格式,像 Mp4,WebM,3gp,以及 FLV 都支持。你可以使用下面命令列出指定視頻所支持的所有格式:
youtube-dl -F https://www.youtube.com/watch?v=j_JgXJ-apXsn
如下所示,你會看到該視頻所有可能的格式:
[info] Available formats for j_JgXJ-apXs:nformat code extension resolution noten139 m4a audio only DASH audio 56k , m4a_dash container, mp4a.40.5@ 48k (22050Hz), 756.44KiBn249 webm audio only DASH audio 56k , opus @ 50k, 724.28KiBn250 webm audio only DASH audio 69k , opus @ 70k, 902.75KiBn171 webm audio only DASH audio 110k , vorbis@128k, 1.32MiBn251 webm audio only DASH audio 122k , opus @160k, 1.57MiBn140 m4a audio only DASH audio 146k , m4a_dash container, mp4a.40.2@128k (44100Hz), 1.97MiBn278 webm 256x144 144p 97k , webm container, vp9, 24fps, video only, 1.33MiBn160 mp4 256x144 DASH video 102k , avc1.4d400c, 24fps, video only, 731.53KiBn133 mp4 426x240 DASH video 174k , avc1.4d4015, 24fps, video only, 1.36MiBn242 webm 426x240 240p 221k , vp9, 24fps, video only, 1.74MiBn134 mp4 640x360 DASH video 369k , avc1.4d401e, 24fps, video only, 2.90MiBn243 webm 640x360 360p 500k , vp9, 24fps, video only, 4.15MiBn135 mp4 854x480 DASH video 746k , avc1.4d401e, 24fps, video only, 6.11MiBn244 webm 854x480 480p 844k , vp9, 24fps, video only, 7.27MiBn247 webm 1280x720 720p 1155k , vp9, 24fps, video only, 9.21MiBn136 mp4 1280x720 DASH video 1300k , avc1.4d401f, 24fps, video only, 9.66MiBn248 webm 1920x1080 1080p 1732k , vp9, 24fps, video only, 14.24MiBn137 mp4 1920x1080 DASH video 2217k , avc1.640028, 24fps, video only, 15.28MiBn17 3gp 176x144 small , mp4v.20.3, mp4a.40.2@ 24kn36 3gp 320x180 small , mp4v.20.3, mp4a.40.2n43 webm 640x360 medium , vp8.0, vorbis@128kn18 mp4 640x360 medium , avc1.42001E, mp4a.40.2@ 96kn22 mp4 1280x720 hd720 , avc1.64001F, mp4a.40.2@192k (best)n
然後使用 -f 指定你想要下載的格式,如下所示:
youtube-dl -f 18 https://www.youtube.com/watch?v=j_JgXJ-apXsn
該命令會下載 640x360 解析度的 mp4 格式的視頻:
[youtube] j_JgXJ-apXs: Downloading webpagen[youtube] j_JgXJ-apXs: Downloading video info webpagen[youtube] j_JgXJ-apXs: Extracting video informationn[youtube] j_JgXJ-apXs: Downloading MPD manifestn[download] Destination: B.A. PASS 2 Trailer no 2 _ Filmybox-j_JgXJ-apXs.mp4n[download] 100% of 6.90MiB in 00:47n
如果你想以 mp3 音頻的格式下載 Youtube 視頻,也可以做到:
youtube-dl https://www.youtube.com/watch?v=j_JgXJ-apXs -x --audio-format mp3n
你也可以下載指定頻道中的所有視頻,只需要把頻道的 URL 放到後面就行,如下所示:
youtube-dl -citw https://www.youtube.com/channel/UCatfiM69M9ZnNhOzy0jZ41An
若你的網路需要通過代理,那麼可以使用 --proxy 來下載視頻:
youtube-dl --proxy http://proxy-ip:port https://www.youtube.com/watch?v=j_JgXJ-apXsn
若想一條命令下載多個 Youtube 視頻,那麼首先把所有要下載的 Youtube 視頻 URL 存在一個文件中(假設這個文件叫 youtube-list.txt),然後運行下面命令:
youtube-dl -a youtube-list.txtn
安裝 Youtube-dl GUI
若你想要圖形化的界面,那麼 youtube-dlg 是你最好的選擇。youtube-dlg 是一款由 wxPython 所寫的免費而開源的 youtube-dl 界面。
該工具默認也不在 Ubuntu 16.04 倉庫中。因此你需要為它添加 PPA。
sudo add-apt-repository ppa:nilarimogard/webupd8n
下一步,更新軟體包倉庫並安裝 youtube-dlg:
sudo apt-get update -ynsudo apt-get install youtube-dlg -yn
安裝好 Youtube-dl 後,就能在 Unity Dash 中啟動它了:
現在你只需要將 URL 粘貼到上圖中的 URL 域就能下載視頻了。Youtube-dlg 對於那些不太懂命令行的人來說很有用。
結語
恭喜你!你已經成功地在 Ubuntu 16.04 伺服器上安裝好了 youtube-dl 和 youtube-dlg。你可以很方便地從 Youtube 及任何 youtube-dl 支持的網站上以任何格式和任何大小下載視頻了。
原 文:Install and Use YouTube-DL on Ubuntu 16.04
譯 文:Linux中國 作 者:lujun9972譯
更多文章:SDK.CN - 中國領先的開發者服務平台
推薦閱讀:
※為什麼YouTube都支持4K解析度視頻了,而優酷之類國內視頻網站最高才720P左右?
※YouTube開始限制LGBTQ內容了,這種作法是否正確?
※如何看待emma peng在油管上發中文視頻向粉絲要錢繼續上學?
TAG:YouTube |