騰訊云輕量服務(wù)器搭建全平臺視頻解析視頻下載網(wǎng)站
時間:2023-07-30 16:51:02 | 來源:網(wǎng)站運營
時間:2023-07-30 16:51:02 來源:網(wǎng)站運營
騰訊云輕量服務(wù)器搭建全平臺視頻解析視頻下載網(wǎng)站:
前言
由于最近一直覺得自己的服務(wù)器流量太多了,每個月只能用掉 不到20%,服務(wù)器資源大多時候也是空閑為主。于是又開始想著折騰了,然后平常有需要下載一些YouTube或者是tiktok上的視頻,所以就找了一下網(wǎng)上的程序。命令行工具比較多,但是作為一個懶人肯定不會覺得用命令行就行了,做個網(wǎng)站隨時隨地訪問才是真的舒服。于是就有了這個。
服務(wù)器購買
服務(wù)器我選擇的是騰訊云的輕量服務(wù)器,原因無非就是價格便宜,CPU是獨享的,線路相較于其他的云廠商算是優(yōu)秀的那個。最低32一個月就能有 2 C(獨享)2 G的硬件。本程序需要用到ffmpeg用來封裝或者轉(zhuǎn)碼,所以CPU性能上還是有一點要求的。也不能選什么積分制的CPU,不然積分沒了CPU限制太死估計網(wǎng)站會崩潰。
由于我需要下載的是國際視頻網(wǎng)站,所以不會服務(wù)器選擇的也是海外的。如果只需要下載國內(nèi)可以考慮境內(nèi)服務(wù)器。這里我以新加坡服務(wù)器為例。
進入騰訊云輕量服務(wù)器購買頁面:騰訊云輕量服務(wù)器
選擇好套餐,選擇地域,再選擇鏡像為Debian/Ubuntu,不再推薦使用centos。購買完成之后再進入控制臺。
進入控制臺后可以先重置密碼。然后直接在頁面登陸也行,在ssh工具里也行。
下面我以頁面登陸操作進行講解。
點擊登陸之后會以
Lighthouse
用戶登陸,輸入
sudo su
可以切換到
root
用戶,在下面輸入代碼的時候如果你是
root
用戶就不需要前面的
sudo
反之則要加上
加上
。
下載器選擇
目前常見的視頻解析下載器很多,常見的youtube-dl,YouTube-Get,yt-dlp等,這里我選擇的是yt-dlp作為下載器,因為下載器是這個網(wǎng)站搭建的核心,為了避免后續(xù)更新不及時或者是想要下載別的平臺的視頻,這里選擇yt-dlp是因為它支持的平臺數(shù)量很多,國內(nèi)的主流視頻網(wǎng)站和直播網(wǎng)站也都有支持比如B站,愛奇藝,抖音,斗魚。
yt-dlp
yt-dlp的安裝很簡單,直接下載二進制文件就行。然后就能用了,但是我們網(wǎng)站程序要用的是py文件,所以后面還會介紹一下
sudo curl -L https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -o /usr/local/bin/yt-dlp
sudo chmod a+rx /usr/local/bin/yt-dlp
最簡單的用法就是
yt-dlp [url]
例如我們下載著名的'騙人視頻'
可以下載十分迅速,存儲文件的格式就是視頻標(biāo)題再加上YouTube的視頻連接后綴。
如果只是偶爾用用的話這樣就夠了。你可以指定字幕文件,視頻分辨率,但是如果你想要mp4格式視頻的話,有些分辨率是不含的,需要自己設(shè)置ffmpeg進行轉(zhuǎn)碼。
PS: 查看yt-dlp支持哪些網(wǎng)站https://github.com/yt-dlp/yt-dlp/blob/master/supportedsites.md直接Ctrl + F查找即可,找不到可以試試拼音或者域名,或者英文
ffmpeg 安裝
我用的是Debian,直接apt安裝就行
sudo apt update -y && sudo apt upgrade -y
apt install ffmpeg
更新的時候遇到個源問題,提示
N:
Repository
'http://deb.debian.org/debian buster InRelease' changed its 'Version' value from
'10.8' to '10.10'
E:
Repository
'http://deb.debian.org/debian buster InRelease' changed its 'Suite' value from
'stable' to 'oldstable'
N:
This must be accepted explicitly before updates for
this repository can be applied.
See apt-secure(8) manpage for details.
E:
Repository http://deb.debian.org/debian-security buster/updates InRelease' changed its 'Suite' value from 'stable' to 'oldstable'
N:
This must be accepted explicitly before updates for
this repository can be applied.
See apt-secure(8) manpage for details.
E:
Repository
'http://deb.debian.org/debian buster-updates InRelease' changed its 'Suite' value from
'stable-updates' to 'oldstable-updates'
N:
This must be accepted explicitly before updates for
this repository can be applied.
See apt-secure(8) manpage for details.
搜了一下
See apt-secure(8) manpage for details.
直接運行一個命令再更新一下源就行,就是release信息變化了,同意更新即可。
sudo apt-get update --allow-releaseinfo-change
sudo apt-get upgrade -y
查看ffmepg是否成功安裝
ffmpeg
這樣就OK了。
網(wǎng)站程序安裝
網(wǎng)站程序我這里選擇的是
alltube
Github地址:
https://github.com/Rudloff/alltube我向來是寶塔的忠實用戶,沒有其他原因就是懶,所以還是騰訊云+寶塔國際版(aapanel)。
安裝NGINX和PHP即可
環(huán)境準(zhǔn)備好了直接解析好域名指向服務(wù)器,然后再下載alltube壓縮包到網(wǎng)站程序。
wget https://github.com/Rudloff/alltube/releases/download/3.0.3/alltube-3.0.3.zip -O /www/wwwroot/你的網(wǎng)站目錄/alltube.zip
cd /www/wwwroot/你的網(wǎng)站目錄
unzip alltube.zip
chown -R www:www /www/wwwroot/你的網(wǎng)站目錄
chmod -R 755
/www/wwwroot/你的網(wǎng)站目錄
#對網(wǎng)站目錄授權(quán)
然后在寶塔面板里網(wǎng)站目錄改成
alltube
即可
偽靜態(tài)配置
location ~
//. {
deny all;
}
location /
{
try_files $uri /index.php?$args;
}
PHP禁用函數(shù)
在禁用函數(shù)里把標(biāo)注出來的兩個函數(shù)刪除即可。
網(wǎng)站頁面
現(xiàn)在已經(jīng)可以使用了,但是如果就這樣的話是會將你轉(zhuǎn)到解析出來的視頻源,而這種方式很大程度上導(dǎo)致視頻沒聲音或者源服務(wù)器返回403,而且我們目前還是用的程序自帶的youtube_dl,我們需要修改成yt-dlp,然后還需要配置ffmpeg轉(zhuǎn)碼,以及視頻先經(jīng)過服務(wù)器下載再提供給用戶。
優(yōu)化配置
首先你需要考慮你是否需要面向大眾使用,以及你的服務(wù)器配置以及流量。
我用的騰訊云的新加坡,目前騰訊云正好升級了低價配置,32就可以買到2C的性能這相對而言是更加適用于這種網(wǎng)站的,因為解析視頻以及ffmpeg轉(zhuǎn)碼、封裝都比較吃CPU性能。騰訊云最低配2C2G1T流量這種適合小范圍內(nèi)適用,主要是流量有限制,大部分視頻還是走服務(wù)器比較好,有連接就能直接下載。不需要考慮與網(wǎng)站的連通性。
還有一種是需要面向大眾的,這種就需要大寬帶以及高性能的服務(wù)器,可以考慮獨立服務(wù)器也可以選擇CVM,或者是通過多臺輕量服務(wù)器一臺高配專門做后端,其他低配的做前端,服務(wù)器之間通過內(nèi)網(wǎng)訪問,1.5Gbps的內(nèi)網(wǎng)帶寬足以應(yīng)付大多數(shù)情況了,下載不耗流量,上傳流量不夠了就多開幾臺低配的。
上述兩種情況主要針對的是是否通過服務(wù)器下載,以及是否提供封裝服務(wù)。小范圍使用,你可以都開著,公開使用的話你就需要根據(jù)你的服務(wù)器性能以及是否有流量限制來考慮了。
使用yt-dlp
首先下載yt-dlp壓縮包并解壓
cd /www/wwwroot/你的網(wǎng)站目錄/alltube/vendor
wget https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp.tar.gz
tar -zxvf yt-dlp.tar.gz
你也可以直接在寶塔里操作。
然后進入
alltube/config
文件夾
備份一下config-example.yml,然后重命名為config.yml
打開并修改里面的配置
首先是下載器,把修改成剛下載的yt-dlp主程序,python改成python3,沒python3的服務(wù)器自己裝一個
然后下面這些配置看自己的需求進行更改
stream可以填ask,即默認不走服務(wù)器流量,但是頁面上可以選,如果填false就是全部只解析出直鏈,true就是默認都走服務(wù)器流量。
remux可以封裝最佳視頻以及音頻成MKV文件,但是不能同時和轉(zhuǎn)碼一起使用。
轉(zhuǎn)碼只針對音頻文件,沒啥好說的。
然后再修改config.php文件即可。config.php和config.yml都差不多,但是stream不能填ask
使用事項
當(dāng)你想要下載需要cookie的視頻時,你可以嘗試自己去配置一下網(wǎng)站目錄下的yt-dlp程序,但是這種情況有可能會導(dǎo)致你的視頻網(wǎng)站賬號異常,所以你不應(yīng)該在面向大眾的正式網(wǎng)站上使用。
版權(quán)問題:作為一個解析視頻的工具類而言,版權(quán)問題不得不注意,需要留意的是一些視頻網(wǎng)站的付費視頻(會員專享視頻)你可以通過配置自己的會員賬號方便自己下載觀看或者收藏。但是不能公開提供服務(wù)給大眾使用。