项目介绍
该云转码不再是简单的云转码系统,而是CMS
系统+云转码系统一体化,自带整个完备的并且对移动端友好的,而且非常利于SEO
优化的自适应CMS
系统,根据后台的分类系统和门户CMS
管理系统,直接在首页达成完备的在线视频播放系统,适用于在线教育、企业内部培训视频、在线视频自媒体门户等多种运用方向。
提示:本文主要介绍的是开源免费版的功能及安装方法,仅供学习交流使用。且不能用于非法用途,否则后果自负!
- 实现大文件分块上传,批量上传。
- 实现服务器端自动动态码率转码并且切片,完成后会自动删除原视频文件。
- 实现批量添加水印和字幕,和同时处理。
- 实现截图,默认自动生成四张截图。
- 一键获取分享链接,设置防盗链,
token
防盗链或者仅允许指定域名iframe
调用。 ts
切片文件域名分发,负载均衡,支持无限多服务器同步分发。
官方网站:http://ffmpeg.moejj.com/
开源版演示:https://www.moejj.com
高级版演示:https://www.leimulamu.com,具体介绍看文章最后面。
截图
更新
【2019.1.17】
更新部分安装步骤,使出错率更小。
为什么要使用云转码
传统视频如果没有正确的压缩,一般来说尺寸非常大,动则3Gb
、4Gb
的大小,再者因为视频需要在网站中进行播放,传统中如果放置常规的flv
或者mp4
格式,那么浏览器会一直进行缓存,并且在缓存在一定播放长度之后才会进行播放,这样会消耗更多的带宽和让用户等待更长的时间,所以转码之后再进行切片是非常必须的,一来无损的压缩视频文件使其占用磁盘尺寸更小,并且基于hls
格式,也是M3u8
格式中储存了所有ts
切片列表,这种模式加载,只需要加载第一个ts
切片视频就可以开始播放,这样就使用户等待的时间更少,减少服务器带宽使用,并且画质的损失很小。这也就是为什么现在大部分视频网站都是使用hls
格式来播放的。
具体功能
- 后台云转码加切片,运用最精简的代码,做成最快的转码+切片功能。
- 秒切功能,切片速度领先所有市面收费云转码系统。
- 视频分类、视频筛选、视频搜索,后台一应俱全。
- 防盗链、
token
防盗链,多重防盗链,避免流量损失,可以设置指定域名只能iframe
调用。 - 字幕烧录,水印烧录,超级简单的操作,即可将字幕烧录进视频或者添加水印到视频中。
- 支持
vtt
字幕,后台可以根据不同的视频上传不同的vtt
字幕,前台播放自动加载字幕。 - 视频截图,后台配置截图数,云转码切片的时候自动截图。
ts
分发,多服务器同步内容,ts
文件自动循环加域名前缀,负载均衡。cms
系统配置,站点名称设置、seo
标题设置、seokeywords
设置,seodescription
设置,前台显示截图设置,前台自动生成cms
系统,自适应布局,针对移动端优化,seo
效果极佳。
新增功能
#增加会员系统
增加会员系统,可以不开启CMS,独立开启会员系统,双向验证,安全可靠,后台可以配合卡劵生成,前台用户使用卡劵进行升级。
#真正意义上的权限系统
路由层面的权限系统,非网上的播放器假权限,根据权限不同,相同的M3U8播放文件返回不同的内容,比如普通会员只能播放3分钟,就只会返回3分钟的切片内容,升级之后才会返回完整的切片内容。
#卡劵系统
后台设定卡劵生成,可以设置开通会员时间,用户前台使用即可升级到对应的会员,到期之后权限失效,需要重新开通,如果连续使用则是累加会员时间。
安装
如果你觉得安装很困难,想很快安装好,可以使用博主写的Linux
一键脚本,脚本地址:点击访问。
安装教程官网其实有,不过仅有Ubuntu
的手动教程,其它系统都没有,博主发现该程序所需的大部分环境宝塔面板均可以直接安装,鉴于为小白着想,这里就用宝塔面板安装该程序,支持的系统也多。
所需环境:nodejs
、expressjs
、mongoDb
、ffmpeg
、Redis
等
1、安装宝塔
#Centos系统
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install.sh && sh install.sh
#Ubuntu系统
wget -O install.sh http://download.bt.cn/install/install-ubuntu.sh && sudo bash install.sh
#Debian系统
wget -O install.sh http://download.bt.cn/install/install-ubuntu.sh && bash install.sh
安装完成后,进入面板,点击左侧软件管理,然后安装MongoDb
、Redis
、Nginx
(使用域名访问才需要安装,反之不用)。注意Debian
安装MongoDb
之前还需要使用命令apt install sudo
,不然可能存在MongoDb
启动不了的情况。
2、安装ffmpeg
安装方法参考:使用静态ffmpeg二进制文件秒安装ffmpeg。
3、安装其它依赖
安装Nodejs
:
#Debian/Ubuntu系统
curl -sL https://deb.nodesource.com/setup_8.x | bash -
apt-get install -y nodejs git screen
#Centos系统
curl -sL https://rpm.nodesource.com/setup_8.x | bash -
yum install nodejs git screen -y
安装PM2
和express
:
npm install -g pm2 express
4、创建数据库
创建之前建议去面板软件管理那里找到MongoDb
数据库重启一下。
#这里数据库名,用户和密码都是ffmpeg
mongo
use ffmpeg
db.createUser({user:"ffmpeg",pwd:"ffmpeg",roles:[{role:"readWrite",db:"ffmpeg"}]})
db.auth("ffmpeg","ffmpeg")
如果显示1
则增加用户正确,再使用Ctrl+D
退出。这里如果有No such file or directory
报错,请检查下数据库运行状态。
5、配置云转码
git clone https://gitee.com/quazero/express-ffmpeg.git
cd express-ffmpeg
#创建config文件夹
mkdir config
cd config
创建并编辑auth.js
配置文件:
nano auth.js
将以下代码复制进去:
#该配置比很早的版本多了三个设置项,很多人出错就在这里,secret是session需要的秘钥,login是后台登陆地址,loginmsg 是后台未登录显示的内容,默认是404。
module.exports = {
user: "admin",
password: "admin",
db: "ffmpeg",
dbuser: "ffmpeg",
dbpassword: "ffmpeg",
secret: "yoursecret",
login: "/adminlogin",
loginmsg: "404 Not Found"
};
再使用Ctrl+X
,Y
确认退出编辑模式,参数从上往下依次是登陆云转码平台的账号,密码,数据库,数据库用户名,数据库密码。本教程安装的mongodb
数据库为ffmpeg
,用户名和密码都是ffmpeg
,可以自行进行修改。
6、安装并运行云转码
cd /root/express-ffmpeg
npm install
#如果服务器重启,则必须在express-ffmpeg源码文件里重新运行命令启动
pm2 start bin/www -i 0
7、反向代理
点击左侧网站,添加站点,然后再点击添加好了的域名名称,这时候就进入了站点配置,点击反向代理,目标URL
填入http://127.0.0.1:3000
,再启用反向代理即可。
8、站点配置
最后打开xx.com/adminlogin
,输入设定的账号密码,本教程设置的是admin
,admin
,进入之后点击设置,在其中绑定域名,设置token
的key
,上传水印图片(推荐120*35
),然后域名分发、CMS
设置等功能都需要提交下,不然进入首页会出现502
错误,而且视频也会播放不了。
最后就可以直接分享视频,也可以在别的网站贴视频什么的。
云转码高级版
演示站:https://www.leimulamu.com/
更新日志:https://www.iqi360.com/topic/5c53f9e8ac599a7c35b49d7c
作者最近出了个云转码付费高级版,功能在上面提的基本功能前提下,新增如下:
- 拥有全新的主题,样式更好看了。
- 新增加多码率版本,可以同时转码
240P
、360P
、480P
、720P
、1080P
,后台可以自行配置。 - 新增跑马灯广告,后台直接设置广告文字,速度,多长时间出现一次,无需任何复杂的配置。
- 新增用户组权限,根据后台配置,可以自行设置用户组可观看分辨率。
- 新增超级截图功能,比原来截图速度快
100
倍,并无夸张,只需要1秒钟即可截图设定数量的图片。 - 新增推广功能,用户个人中心获取推广链接,根据
IP
访问增加积分,积分累计升级用户组,解锁更高分辨率。 - 新增标签化和截取视频片段生成
gif
动态图 - 新增一键获取视频所有分辨率
m3u8
,m3u8
地址全部随机目录。 - 电视剧和电影分开,可以自行配置电视剧,豆瓣链接一键获取所需数据。
- 前台增加电视剧板块,电视剧自带多码率切换,可根据用户组来播放对应分辨率视频。
- 更新文章列表和文章的模板,后台
cms
文章发布功能集成到高级版中。 - 更新
vip
付费用户组的创建,跟普通用户组分开,使用积分购买vip
用户组。 - 更新卡卷对接高级版
CMS
,可以生成充值积分卡卷,充值的积分可以用以购买VIP
用户组。 vip
付费功能,设置开通天数,开通对应vip
用户组和所需积分,前台用户自行使用积分开通VIP
用户组。
高级版作者会长期更新,功能会越来越多,很适合做视频网站,有需求的可以联系博主,目前2200
包2
年更新,不限制使用台数,微信rats54
,博主会提供高级版的一键安装脚本,且程序经过作者正版授权,包售后,由作者提供更新和技术支持。