利用VPS下載YouTube視頻並上傳至百度雲網盤
作者:NIVEN ZHANG
原文:http://www.typemylife.com/use-vps-download-videos-from-youtube-upload-to-baidu-cloud/
前一段時間接了個小任務,要把 YouTube 上的幾百個視頻下載回來,用百度雲網盤分享給公司的同事供學習使用。
然後我就開始琢磨這件事能不能更自動化、更高效一些來實現。呃,放狗上 Google 搜了一下,找到了幾個大殺器,參考了一下各位大神的教程後,我也拼湊出了一個解決方案。
長話短說:
在美國 VPS 上安裝 YouTube 專用下載工具,遠程下載想要的 YouTube 視頻到伺服器上;在 VPS 上安裝百度雲網盤上傳工具,將已經下載到 VPS 中的視頻上傳到雲端。
這個方案的好處很明顯:用位於美國的 VPS 下載本身伺服器就在美國的 YouTbe 網站視頻,速度相當快(實測可以超過 60MB/s)。從美國 VPS 上傳文件到百度雲,速度雖然受限(一般是幾百 Kb 每秒,偶見超過 1MB/s 的),但仍比我在國內本地的上傳網速要快得多。更重要的是,這個方案是高度自動化、批量進行的,不用手動對付每個視頻。
短話長說:
接下來要寫的詳細教程,是一個大雜燴。你在網上能找到的特定教程,都是有特定限制條件的,例如你的 VPS 用的是啥操作系統,你要實現多大程度的自動化,等等。在完成這個教程的過程中,我也踩了不少坑,幸虧有萬能的 Google 相助。
1 安裝 VPS 操作系統
我用的是 DigitalOcean(若使用我的 推薦鏈接註冊 DigitalOcean,您的賬戶可以立即獲得 10 美金,相當於免費獲得兩個月的使用權)最基礎的套餐,每月 5$,20G 的 SSD 儲存空間,1T 流量。安裝的操作系統是 CentOS 7(請注意操作系統的選擇,這很重要,後面我會提到原因),節點為舊金山(據說從大陸訪問會比較快)。所以,如果你也是 DO 用戶的話,可以完全照我這篇教程來做,准沒問題。不是的話,請酌情參考就好了,其他問題我不負責解答哈,畢竟,我是一個偽技術流……
前面提過 VPS 的操作系統問題,為啥我用 CentOS 7 呢?因為這個版本默認自帶的 Python 是 2.7.5(截至本文發布時是這樣的),而這個教程中會用到的百度雲網盤 Linux 客戶端(bypy)依賴的 Python 版本號為 2.7x。一開始我裝了個 CentOS 6,其自帶 Python 6.x,不符合要求;Google 了好多教程,還是沒能裝上 Python 2.7x(在 DO 的這個系統上需要自行編譯 Python,各種報錯很無奈);最後決定放棄 CentOS 6,換成 7,因為有那個工夫折騰 Python,我還不如去看幾集美劇是吧,呃,好像我又無意中暴露了什麼……
2 安裝 youtube-dl
傳說中的第一個大殺器終於粗線了:youtube-dl。這個工具可以用來下載一系列國外網站的在線視頻,如油管家的。它既有本地客戶端,也可以被部署在伺服器上。
用 Putty 登入 VPS 後,依次執行以下兩條命令:
然後就沒了。是的就是這麼簡單,現在你已經裝完 youtube-dl,可以在 VPS 上遠程下載指定的 YouTube 視頻了。
最簡單的命令如下:
把上面的這個 video-url 換成具體某個 YouTube 視頻的 URL 就可以直接下載了。注意,youtube-dl 會默認下載視頻到當前執行命令的目錄下。
YouTube 有 Playlist 功能,即播放列表,你可以用 Google 賬號登錄,然後就可以把若干視頻添加保存到 Playlist。如果你想要批量下載某個 Playlist 的視頻,就可以把前面那條下載命令中的 video-url 換成具體 Playlist 的鏈接。話句話說,想要一次下載多個 YouTube 視頻,你可以考慮用這個 Playlist 功能。
這裡的 -a 參數表示讀取外部鏈接文件。
具體細節操作在後面會提到,請耐心往下看……
3 安裝 byby
Byby是一個百度雲網盤的 Python 客戶端,可在 Linux 環境下通過命令行來操作。
在本文的操作環境下,安裝 byby 需要更多的步驟,byby 官網沒有介紹那麼詳細,所以我參考了其他網友的教程。
# 安裝 Git
說明:先裝擴展源 EPEL 再裝 Python Pip 才不會報錯。
# 安裝 Requests
完成以上步驟後,才開始正式安裝 bypy。
依次執行以下三行命令:
此時的命令行界面會出現提示,按照以下步驟來授權你的百度雲賬號使用 bypy 客戶端:
稍等幾秒,授權即可成功。
為了方便在任意目錄下使用 bypy 命令,還需要設置如下:
完成以上設置後,如果要將 VPS 某個文件夾下的所有文件上傳到百度雲,最簡單的命令如下:
還可以加參數,如 -v 可以顯示上傳進度:
默認情況下,本方案上傳到百度雲的文件全部存放在"我的應用數據 –> bypy"路徑下。
4 下載與上傳視頻
點擊展開全文
※Flask 插件學習:Flask-WTF和WTForms 擴展
※用 TensorFlow 讓機器人唱首歌給你聽
※如何開發一個 PyCharm 插件?
TAG:編程派 |
※Visbit播放器登陸Viveport M,可在移動VR上播放8K全景視頻
※VR Photo Converter將VR照片添加到VR視頻
※用VR(虛擬現實)玩兒Ableton Live,AliveInVR增加多用戶VR協作(視頻)
※YouTube開放視頻離線下載功能
※視頻 | In The Room
※蘋果iPhone SE 2上手視頻 就是換殼版iPhoneX
※網友放出蘋果iPhone SE 2上手視頻
※用戶爆出三星Galaxy S9 Plus不能正常播放HDR視頻
※YouTube在全球多地開放視頻離線下載
※VR 視頻雲服務商 Pixvana 成立 VR 內容製作平台 WunderVu
※VR視頻雲服務商Pixvana成立VR內容製作平台WunderVu
※今日頭條旗下musical.ly與TikTok聯合推出全球短視頻平台,新平台沿用TikTok品牌
※YouTube用180°VR視頻直播科切拉音樂節
※掃掃傳 ScanTransfer-免裝APP!掃碼即可將手機照片視頻無線傳到電腦
※【品牌】iPhoneSE2上手視頻曝光 下月見
※一加OnePlus 5/5T將支持熱門網站的高清視頻
※Within與Mozilla合作推出WebVR視頻網站
※學習製作VR180視頻,YouTube VR Creator Lab再次開課
※怎樣看Youtube上的視頻及其他外國網站?推薦一個VPN跳牆神器
※三星推出「Pilot Season」旨在鼓勵原創VR視頻