这是本节的多页打印视图。 点击此处打印.

返回本页常规视图.

多人协同系统搭建教程

可用于多个人帮忙上传片源,然后自行加入到转码进程,采用断点续传,支持压缩包在线查看、在线解压等。

1 - 安装教程

该系统可安装到任何低配置服务器,包括转码服务器。

安装步骤

系统要求:CentOS 7+Debian 8+Ubuntu 16+(推荐),AlmaLinux 8+Rocky Linux 8+

友情提示

如果你的服务器在中国大陆以外,包括中国香港,中国台湾,建议先安装BBR,可优化TCP连接,尽可能让用户流畅的观看视频。

如果你是CentOS 7系统,建议BBR在新装系统的服务器上安装,毕竟超小概率会造成换内核访问不了服务器。

使用SSH客户端,比如Xshell软件,登录服务器,再使用命令:

wget --no-check-certificate -O /opt/bbr.sh https://github.com/teddysun/across/raw/master/bbr.sh
chmod 755 /opt/bbr.sh
/opt/bbr.sh

该脚本会自动给你更换BBR内核,并开启BBRCentOS 7系统安装完成后需要重启服务器,其它系统不需要。

如果第一行命令出现wget: unable to resolve host address报错,则解决方法 ⇒ 传送门

开始安装

使用SSH客户端,比如Xshell软件,登录服务器,再使用命令:

#下载脚本
wget --no-check-certificate -O '/tmp/operator-disk.sh' 'https://file.efvcms.com/moeapp/shell/operator-disk.sh'

#运行前请将后面1个参数修改成自己的,即源码安装路径/home,路径自定义,为绝对路径写法,不存在会自动创建
bash /tmp/operator-disk.sh /home

Enter运行,直到脚本运行结束,期间会给你安装所有环境,接下来还需要配置才能使用。

配置系统

如果我的安装目录为/home/operator-disk,则配置文件为/home/operator-disk/disk.config.js,在SSH客户端使用命令:

vi /home/operator-disk/disk.config.js

首先按一下键盘的i键,进入编辑模式,这时候可以使用键盘进行编辑,编辑代码详解如下:

#下面为EFV高级版地址,可以为http://ip:3000,也可以直接填写EFV绑定域名,且该地址为有效地址。
host: 'http://127.0.0.1:3000',

#下面为EFV高级版APIKEY,可以在转码设置处查看或设置,注意api需开启
apiKey: '3f29g2C8BEdGF1gDA08b',

全部编辑好了后,按一下键盘的esc键退出编辑模式,接下来输入英文:wqenter保存退出。

最后如果你不是很会命令行,依然不会修改,可以使用FTP软件或宝塔文件管理,找到该文件后手动修改即可。

打包并启动

使用SSH客户端,继续使用命令:

#进入源码目录
cd /home/operator-disk
#打包
npm run build
#启动命令
pm2 start ecosystem.config.js --env production
#设置开机自启
pm2 save
pm2 startup

这时候启动完成后,访问地址就是服务器ip:7654,且如果你修改过配置和相关文件,都需要重新打包,并使用pm2 reload all重启生效。

如果运行第一个命令提示-bash: npm: command not found,则需要先运行一下source /etc/profile,然重新打包即可。

2 - 使用及相关修改

上传默认只能同时上传4个视频,可自行修改。

使用步骤

我们搭建好协同上传系统后,需要先申请一个或多个协同操作员账户,步骤如下:

先去CMS前台注册一个账户,然后管理员在后台用户相关的用户管理处,编辑该账户,将是否操作员打开即可。

如果你的CMS是关闭状态,则可以前往CMS设置临时打开CMS,注册好账户后,再关闭CMS即可。

申请好了操作员账户后,就可以直接在协同上传系统页面登录,就可以上传影片了,上传后,点击文件右上角,加入到转码即可。

特别说明

1、使用该客户端之前,需要前往转码设置打开api功能。
2、如果你不用内置cms,则建议注册好操作员账号后,前往CMS设置关闭cms,不然资源会发布到内置cms,收录重复不利于你自己cms的seo。

增加上传并发量

操作员默认最多只能拖动4个视频在上传界面,如果你想增加数量,可以修改pages/upload.js文件的maxFiles={4},将里面的4改成你希望的数字。

然后重新打包重启,使用SSH客户端,继续使用命令:

#进入源码目录
cd /home/operator-disk
#打包
npm run build
#重启
pm2 reload all

显示视频文件全称

视频名称默认超过一定字段会自动省略,如果你想显示全部名称,可以修改components/file.tsx文件,修改如下:

#修改代码
<div className="block font-medium mt-4 text-center truncate">{file.basename}</div>

#修改之后,也就是去掉truncate
<div className="block font-medium mt-4 text-center">{file.basename}</div>

然后重新打包重启,使用SSH客户端,继续使用命令:

#进入源码目录
cd /home/operator-disk
#打包
npm run build
#重启
pm2 reload all