灌水王 发表于 2024-9-11 17:13:35

腾讯云轻量服务器搭建全平台视频解析视频下载网站

前言
由于最近一直觉得自己的服务器流量太多了,每个月只能用掉 不到20%,服务器资源大多时候也是空闲为主。于是又开始想着折腾了,然后平常有需要下载一些有图比或者是tiktok上的视频,所以就找了一下网上的程序。命令行工具比较多,但是作为一个懒人肯定不会觉得用命令行就行了,做个网站随时随地访问才是真的舒服。于是就有了这个。
服务器购买(面向小白)
服务器我选择的是腾讯云的轻量服务器,原因无非就是价格便宜,CPU是独享的,线路相较于其他的云厂商算是优秀的那个。最低32一个月就能有 2 C(独享)2 G的硬件。本程序需要用到ffmpeg用来封装或者转码,所以CPU性能上还是有一点要求的。也不能选什么积分制的CPU,不然积分没了CPU限制太死估计网站会崩溃。
由于我需要下载的是国际视频网站,所以不会服务器选择的也是海外的。如果只需要下载国内可以考虑境内服务器。这里我以新加坡服务器为例。
进入腾讯云轻量服务器购买页面:[腾讯云轻量服务器](https://curl.qcloud.com/ZYwQKs3G)

选择好套餐,选择地域,再选择镜像为Debian/Ubuntu,不再推荐使用centos。购买完成之后再进入[控制台](https://console.cloud.tencent.com/lighthouse/instance/index)。
进入控制台后可以先重置密码。然后直接在页面登陆也行,在ssh工具里也行。

下面我以页面登陆操作进行讲解。
点击登陆之后会以 `Lighthouse` 用户登陆,输入 `sudo su` 可以切换到 `root` 用户,在下面输入代码的时候如果你是 `root` 用户就不需要前面的 `sudo` 反之则要加上 `加上` 。
下载器选择
目前常见的视频解析下载器很多,常见的有图比-dl,有图比-Get,yt-dlp等,这里我选择的是yt-dlp作为下载器,因为下载器是这个网站搭建的核心,为了避免后续更新不及时或者是想要下载别的平台的视频,这里选择yt-dlp是因为它支持的平台数量很多,国内的主流视频网站和直播网站也都有支持比如B站,爱奇艺,抖音,斗鱼。
### yt-dlp
yt-dlp的安装很简单,直接下载二进制文件就行。然后就能用了,但是我们网站程序要用的是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 `
例如我们下载著名的'骗人视频'

可以下载十分迅速,存储文件的格式就是视频标题再加上有图比的视频连接后缀。
如果只是偶尔用用的话这样就够了。你可以指定字幕文件,视频分辨率,但是如果你想要mp4格式视频的话,有些分辨率是不含的,需要自己设置ffmpeg进行转码。
**PS: 查看yt-dlp支持哪些网站**
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了。
## 网站程序安装
网站程序我这里选择的是`alltube`
Github地址:https://github.com/Rudloff/alltube
我向来是宝塔的忠实用户,没有其他原因就是懒,所以还是腾讯云+宝塔国际版(aapanel)。
安装NGINX和PHP即可
环境准备好了直接解析好域名指向服务器,然后再下载alltube压缩包到网站程序。
```
wget https://github.com/Rudloff/alltube/releases/download/3.0.3/alltube-3.0.3.zip -O /www/wwwroot/你的网站目录/alltube.zip
cd /www/wwwroot/你的网站目录
unzip alltube.zip
chown -R www:www /www/wwwroot/你的网站目录
chmod -R 755 /www/wwwroot/你的网站目录 #对网站目录授权
```
然后在宝塔面板里网站目录改成`alltube`即可
伪静态配置
```
location ~ /\. {
                deny all;
      }

location / {
                try_files $uri /index.php?$args;
      }
```
PHP禁用函数
在禁用函数里把标注出来的两个函数删除即可。

### 网站页面

现在已经可以使用了,但是如果就这样的话是会将你转到解析出来的视频源,而这种方式很大程度上导致视频没声音或者源服务器返回403,而且我们目前还是用的程序自带的有图比_dl,我们需要修改成yt-dlp,然后还需要配置ffmpeg转码,以及视频先经过服务器下载再提供给用户。

优化配置
程序默认使用有图比-dl作为下载器,我改成了yt-dlp,有了更多的适用面,效率也高了。有需要的去文章末尾的博客看即可。有图比-dl已经够绝大部分人用了。

使用事项
当你想要下载需要cookie的视频时,你可以尝试自己去配置一下网站目录下的yt-dlp程序,但是这种情况有可能会导致你的视频网站账号异常,所以你不应该在面向大众的正式网站上使用。
版权问题:作为一个解析视频的工具类而言,版权问题不得不注意,需要留意的是一些视频网站的付费视频(会员专享视频)你可以通过配置自己的会员账号方便自己下载观看或者收藏。但是不能公开提供服务给大众使用。


原文首发:爱示范https://2demo.top/353.html

灌水王 发表于 2024-9-11 17:13:56

一键封号喝茶教程 你要知道腾讯云有视频平台

灌水王 发表于 2024-9-11 17:14:25

nb

灌水王 发表于 2024-9-11 17:15:22

支持 分享技术

灌水王 发表于 2024-9-11 17:15:56

娘子,快出来看技术大牛。

灌水王 发表于 2024-9-11 17:16:50

支持




我是萌新

请你放心

https://img.github.luxe/2022/ec3a465101d09.jpg

灌水王 发表于 2024-9-11 17:17:26

:lol 去水印是侵权的;P

rihua 发表于 2024-9-11 17:17:42

config.php和config.yml都差不多,
这里的config.php我没找到在哪里https://cdn.jsdelivr.net/gh/master-of-forums/master-of-forums/public/images/patch.gif

灌水王 发表于 2024-9-11 17:18:00

classes文件夹里,里面内容和config.yml几乎是一模一样的。反正我是不太懂为啥要两个文件:lol
页: [1]
查看完整版本: 腾讯云轻量服务器搭建全平台视频解析视频下载网站