你們大多數人可能用過或聽說過 Youtube-dl,這個指令行程式可以從包括 Youtube 在内的 100+ 網站下載下傳視訊。我偶然發現了一個類似的工具,名字叫做 You-Get。這是一個 Python 編寫的指令行下載下傳器,可以讓你從 Youtube、Facebook、Twitter 等很多熱門網站下載下傳圖檔,音頻和視訊(LCTT 譯注:首先,它們得是存在的網站)。目前該下載下傳器支援 80+ 站點,點選 這裡
檢視所有支援的網站。
You-Get 不僅僅是一個下載下傳器,它還可以将線上視訊導流至你的視訊播放器。更進一步,它還允許你在 Google 上搜尋視訊,隻要給出搜尋項,You-Get 使用 Google 搜尋并下載下傳相關度最高的視訊。另外值得一提的特性是,它允許你暫停和恢複下載下傳過程。它是一個完全自由、開源及跨平台的應用,适用于 Linux、MacOS 及 Windows。
安裝 You-Get 確定你已經安裝如下依賴項:- Python 3
- FFmpeg (強烈推薦) 或 Libav
- (可選) RTMPDump
有多種方式安裝 You-Get,其中官方推薦采用 pip 包管理器安裝。如果你還沒有安裝 pip,可以參考如下連結:
需要注意的是,你需要安裝 Python 3 版本的
pip
。
接下來,運作如下指令安裝 You-Get:
-
$ pip3 install you-get
可以使用指令更新 You-Get 至最新版本:
-
$ pip3 install --upgrade you-get
使用方式與 Youtube-dl 工具基本一緻。
下載下傳視訊下載下傳視訊,隻需運作:
-
$ you-get https://www.youtube.com/watch?v=HXaglTFJLMc
輸出示例:
-
site: YouTube
-
title: The Last of The Mohicans by Alexandro Querevalú
-
stream:
-
- itag: 22
-
container: mp4
-
quality: hd720
-
size: 56.9 MiB (59654303 bytes)
-
# download-with: you-get --itag=22 [URL]
-
Downloading The Last of The Mohicans by Alexandro Querevalú.mp4 ...
-
100% ( 56.9/ 56.9MB) ├███████████████████████████████████████████████████████┤[1/1] 752 kB/s
下載下傳視訊前,你可能希望檢視視訊的細節資訊。You-Get 提供了
–info
或
-i
參數,使用該參數可以獲得給定視訊所有可用的分辨率和格式。
-
$ you-get -i https://www.youtube.com/watch?v=HXaglTFJLMc
或者
-
$ you-get --info https://www.youtube.com/watch?v=HXaglTFJLMc
輸出示例如下:
-
site: YouTube
-
title: The Last of The Mohicans by Alexandro Querevalú
-
streams: # Available quality and codecs
-
[ DASH ] ____________________________________
-
- itag: 137
-
container: mp4
-
quality: 1920x1080
-
size: 101.9 MiB (106816582 bytes)
-
# download-with: you-get --itag=137 [URL]
-
- itag: 248
-
container: webm
-
quality: 1920x1080
-
size: 90.3 MiB (94640185 bytes)
-
# download-with: you-get --itag=248 [URL]
-
- itag: 136
-
container: mp4
-
quality: 1280x720
-
size: 56.9 MiB (59672392 bytes)
-
# download-with: you-get --itag=136 [URL]
-
- itag: 247
-
container: webm
-
quality: 1280x720
-
size: 52.6 MiB (55170859 bytes)
-
# download-with: you-get --itag=247 [URL]
-
- itag: 135
-
container: mp4
-
quality: 854x480
-
size: 32.2 MiB (33757856 bytes)
-
# download-with: you-get --itag=135 [URL]
-
- itag: 244
-
container: webm
-
quality: 854x480
-
size: 28.0 MiB (29369484 bytes)
-
# download-with: you-get --itag=244 [URL]
-
[ DEFAULT ] _________________________________
-
- itag: 22
-
container: mp4
-
quality: hd720
-
size: 56.9 MiB (59654303 bytes)
-
# download-with: you-get --itag=22 [URL]
預設情況下,You-Get 會下載下傳标記為 “DEFAULT” 的格式。如果你對格式或分辨率不滿意,可以選擇你喜歡的格式,使用格式對應的 itag 值即可。
-
$ you-get --itag=244 https://www.youtube.com/watch?v=HXaglTFJLMc
執行下面的指令,可以從 soundcloud 網站下載下傳音頻:
-
$ you-get 'https://soundcloud.com/uiceheidd/all-girls-are-same-999-prod-nick-mira'
-
Site: SoundCloud.com
-
Title: ALL GIRLS ARE THE SAME (PROD. NICK MIRA)
-
Type: MP3 (audio/mpeg)
-
Size: 2.58 MiB (2710046 Bytes)
-
Downloading ALL GIRLS ARE THE SAME (PROD. NICK MIRA).mp3 ...
-
100% ( 2.6/ 2.6MB) ├███████████████████████████████████████████████████████┤[1/1] 983 kB/s
檢視音頻檔案細節,使用
-i
參數:
-
$ you-get -i 'https://soundcloud.com/uiceheidd/all-girls-are-same-999-prod-nick-mira'
運作如下指令下載下傳圖檔:
-
$ you-get https://pixabay.com/en/mountain-crumpled-cyanus-montanus-3393209/
You-Get 也可以下載下傳網頁中的全部圖檔:
-
$ you-get https://www.ostechnix.com/pacvim-a-cli-game-to-learn-vim-commands/
你隻需向 You-Get 傳遞一個任意的搜尋項,而無需給出有效的 URL;You-Get 會使用 Google 搜尋并下載下傳與你給出搜尋項最相關的視訊。(LCTT 譯注:Google 的機器人檢測機制可能導緻 503 報錯導緻該功能無法使用)。
-
$ you-get 'Micheal Jackson'
-
Google Videos search:
-
Best matched result:
-
site: YouTube
-
title: Michael Jackson - Beat It (Official Video)
-
stream:
-
- itag: 43
-
container: webm
-
quality: medium
-
size: 29.4 MiB (30792050 bytes)
-
# download-with: you-get --itag=43 [URL]
-
Downloading Michael Jackson - Beat It (Official Video).webm ...
-
100% ( 29.4/ 29.4MB) ├███████████████████████████████████████████████████████┤[1/1] 2 MB/s
You-Get 可以将線上視訊導流至你的視訊播放器或浏覽器,跳過廣告和評論部分。(LCTT 譯注:使用
-p
參數需要對應的 vlc/chrominum 指令可以調用,一般适用于具有圖形化界面的作業系統)。
以 VLC 視訊播放器為例,使用如下指令在其中觀看視訊:
-
$ you-get -p vlc https://www.youtube.com/watch?v=HXaglTFJLMc
-
$ you-get --player vlc https://www.youtube.com/watch?v=HXaglTFJLMc
類似地,将視訊導流至以 chromium 為例的浏覽器中,使用如下指令:
-
$ you-get -p chromium https://www.youtube.com/watch?v=HXaglTFJLMc
在上述螢幕截圖中,可以看到并沒有廣告和評論部分,隻是一個包含視訊的簡單頁面。
設定下載下傳視訊的路徑及檔案名預設情況下,使用視訊标題作為預設檔案名,下載下傳至目前工作目錄。當然,你可以按照你的喜好進行更改,使用
–output-dir
-o
參數可以指定路徑,使用
–output-filename
-O
參數可以指定下載下傳檔案的檔案名。
-
$ you-get -o ~/Videos -O output.mp4 https://www.youtube.com/watch?v=HXaglTFJLMc
按
CTRL+C
可以取消下載下傳。一個以
.download
為擴充名的臨時檔案會儲存至輸出路徑。下次你使用相同的參數下載下傳時,下載下傳過程将延續上一次的過程。
當檔案下載下傳完成後,以
.download
為擴充名的臨時檔案會自動消失。如果這時你使用同樣參數下載下傳,You-Get 會跳過下載下傳;如果你想強制重新下載下傳,可以使用
–force
-f
參數。
檢視指令的幫助部分可以擷取更多細節,指令如下:
-
$ you-get --help
這次的分享到此結束,後續還會介紹更多的優秀工具,敬請期待!
原文釋出時間為:2018-05-25
本文作者:Sk
本文來自雲栖社群合作夥伴“
Linux中國開源社群”,了解相關資訊可以關注“
”。