# 安装教程

express-ffmpeg 云转码依赖于服务器环境,需要安装 nodejs、mongodb、ffmpeg 及 redis等。

TIP

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

# 安装 依赖

yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum -y groupinstall "Development Tools"
yum -y install cairo cairo-devel wget git kernel-headers

# 安装 ffmpeg

#32位下载二进制文件
wget https://johnvansickle.com/ffmpeg/builds/ffmpeg-git-i686-static.tar.xz
#64位下载二进制文件
wget https://johnvansickle.com/ffmpeg/builds/ffmpeg-git-amd64-static.tar.xz

#解压文件
tar xvf ffmpeg-git-*-static.tar.xz && rm -rf ffmpeg-git-*-static.tar.xz

#移动文件
mv ffmpeg-git-*/ffmpeg  ffmpeg-git-*/ffprobe /usr/bin/

安装之后,命令行运行 ffmpeg 即可查看版本。

# 安装 nodejs

#目前推荐nodejs v8.x和v9.x
curl -sL https://rpm.nodesource.com/setup_8.x | bash -
yum install nodejs -y

安装之后,命令行运行 node -v 即可查看版本。

# 安装 express 和 pm2

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

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

# 安装 mongodb

我们以 mongodb 4.0 版本为例。

#将下面命令一起复制进SSH客户端运行
cat <<EOF > /etc/yum.repos.d/mongodb.repo
[mongodb-org-4.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/7/mongodb-org/4.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc
EOF
yum -y install mongodb-org
systemctl start mongod
systemctl enable mongod

# 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

# 安装 redis

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum install redis -y
systemctl start redis
systemctl enable redis

# 安装云转码源码并配置

环境装完了,现在开始安装云转码应用。 假设将云转码安装在根目录/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 是后台提示信息。

# 安装 pm2 并运行源码

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

# 进入后台进行配置

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

# 注意事项

如果想在其它站点引用转码后的链接,请安装 Nginx/Apache,并添加域名,反代127.0.0.1:3000端口,即可使用域名访问。