# 安装教程

express-ffmpeg 云转码依赖于服务器环境,需要安装 nodejsmongodbffmpegredis等。

WARNING

注意:下面的教程以 ubuntu 20.04 系统为例,其他系统步骤相同,windows 系统依旧完美运行,安装方法不同而已。

# 安装 依赖

apt update
apt install -y build-essential libcairo2-dev curl libpango1.0-dev libjpeg-dev libgif-dev librsvg2-dev libcurl4

# 安装 ffmpeg

apt install ffmpeg -y

安装之后,命令行运行 ffmpeg 即可查看效果。

# 安装 redis

apt install redis-server -y

# 安装 nodejs 及 mongodb

TIP

由于开源版本停止更新,目前最高仅支持mongodb v4版本,nodejs v10。

推荐使用宝塔安装,然后在宝塔的软件管理安装nodejsmongodb v4,然后将nodejs版本切换到v9的最后一个版本。

#安装好nodejs 及 mongodb后,使用命令行检测版本

#查看mongodb版本
mongod -version

#查看ndoejs版本
node -v

检查没问题后,可以继续下一步。

# mongodb 数据库配置

#将下面命令一起复制进SSH客户端运行
cat <<EOF > createdb
use ffmpeg
db.createUser( { user: "ffmpeg", pwd: "ffmpeg", roles: [ { role: "readWrite", db: "ffmpeg" } ] } )
db.fenfas.insert({ "domains" : [ "" ], "kaiguan" : "" })
EOF
mongo < createdb && rm -rf createdb

# 安装 expressjs 及 pm2

express-ffmpeg 云转码自豪利用 expressjs 进行开发,我们进行全局安装即可。

#pm2版本推荐4.5.0
npm i -g express pm2@4.5.0

# 安装云转码源码并配置

环境装完了,现在开始安装云转码应用。 假设将云转码安装在根目录/www 中,如若没有此文件夹,请先创建。

cd /www
git clone https://gitee.com/quazero/express-ffmpeg
cd express-ffmpeg
mkdir config
#将下面命令一起复制进SSH客户端运行
cat <<EOF > config/auth.js
module.exports = {
    user: "admin",
    password: "admin",
    db: "ffmpeg",
    dbuser: "ffmpeg",
    dbpassword: "ffmpeg",
    secret: "yoursecret",
    login: "/adminloginurl",
    loginmsg: "404 Not Found"
};
EOF

从上往下依次是登陆云转码平台的账号,密码,数据库,数据库用户名,数据库密码。本教程安装的 mongodb 数据库为 ffmpeg,用户名和密码都是 ffmpeg,可以自行进行修改。/adminloginurl 是后台登陆地址,loginmsg 是后台提示信息。

# 运行源码

cd /www/express-ffmpeg
npm i
pm2 start bin/www -i 0

pm2 是极其推崇的运行 nodejs 应用的工具,-i 0 的意思是以集群方式按照 cpu 线程数自动开启多线程运行,大幅提高运行效率。

# 设置环境为发行环境

设置 node 运行环境为发行环境,并且重启服务,设置成发行环境会让应用速度更上一个台阶,并且不再显示错误信息。

export NODE_ENV=production
pm2 reload all --update-env

# 进入后台进行配置

最后打开 yourdomain.com/adminloginurl,输入设定的账号密码,本教程设置的是 admin,admin,进入之后点击设置,在其中绑定 yourdomain,设置 token 的 key,上传水印图片(推荐 120*35),域名分发设置是否开启,最后点击保存,大功告成。