简介 :
express-ffmpeg云转码是利用服务器进行转码并且切片的网站应用,采用layui作为前端展示,后端采用nodejs、mongodb进行开发,程序中利用的转码和切片工具为ffmpeg,ffmpeg是目前最好用的音视频处理工具,前台CMS利用自适应设计,简洁并且功能强大。
环境说明 :
express-ffmpeg云转码需要的服务器环境为ffmpeg,nodejs,mongodb,nginx
功能简介 :
·文件上传,大文件分块上传,批量上传。
·转码切片,根据后台配置选择的清晰度进行转码并且自动切片,切片完成之后会删除原视频文件
·队列转码和批量转码两种模式。
·视频批量添加水印,烧录字幕。
·防盗链设置,token防盗链,指定域名只能通过iframe调用。
·ts文件分发同步,数台服务器同步内容,ts文件自动加上后台配置域名前缀,负载均衡。
·播放器支持vtt格式字幕,后台针对视频上传vtt格式字幕,前台播放自动加载
·支持扫描入库,批量视频文件上传movies文件夹,后台一键扫描入库。
·支持秒切,如果视频已经压缩过并且小于配置的分辨率,则会直接切片。
·webtorrent协议在线播放磁力链接。
·会员系统,真正意义上的权限控制系统。
·ts加密切片,播放的时候KEY自动解密播放。
接下来按照官方安装文档来进行安装:
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
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/
curl -sL https://rpm.nodesource.com/setup_8.x | bash -
yum install nodejs -y
npm i -g express pm2@4.5.0
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
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
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum install redis -y
systemctl start redis
systemctl enable redis
mkdir www
2.下载云转码文件并安装
cd www
git clone https://gitee.com/quazero/express-ffmpeg
mkdir config
cd www/express-ffmpeg
npm install
4.将下面命令一起复制进SSH客户端运行
cat <<EOF > config/auth.js
module.exports = {
user: "k5x5",
password: "k5x5",
db: "k5x5",
dbuser: "k5x5",
dbpassword: "k5x5",
secret: "yoursecret",
login: "/adminloginurl",
loginmsg: "404 Not Found"
};
EOF
3.运行源码
npm i
pm2 start bin/www -i 0
export NODE_ENV=production
pm2 reload all --update-env
注意事项与总结 :
给大家看下搭建好的
yzm.k5x5.com
评论 (0)