
[源码资源]云转码切片express-ffmpeg+CMS一体化系统安装教程
云转码系统估计很多人知道,博主体验过七彩云、FFMpeg WebUI等云转码,感觉都不是很适合自己,而且好像都不更新了,特别是FFMpeg WebUI,貌似很久前就一直停留在0.9.6版本,恰好最近看到了个基于nodejs制作的开源免费的云转码切片系统,功能上基本可以满足个人日常需求了,而且博主感觉nodejs的转码切片速度比现有的很多php转码程序都快些,不知道是姿势问题还是啥,这里就分享下,给有需求的人用。
说明:提示:本文主要介绍的是开源免费版的功能及其源码的安装方法,仅供学习交流使用。且不能用于非法用途,否则后果自负!
项目介绍
该云转码不再是简单的云转码系统,而是CMS
系统+云转码系统一体化,自带整个完备的并且对移动端友好的,而且非常利于SEO
优化的自适应CMS
系统,根据后台的分类系统和门户CMS
管理系统,直接在首页达成完备的在线视频播放系统,适用于在线教育、企业内部培训视频、在线视频自媒体门户等多种运用方向。
如果你不想使用CMS
,也可以单独当它是一个可以在线视频转码的工具,对视频进行在线格式转换,很适合用来做一个视频转码的网站。
- 实现大文件分块上传,批量上传。
- 实现服务器端自动动态码率转码并且切片,完成后会自动删除原视频文件。
- 实现批量添加水印和字幕,和同时处理。
- 实现截图,默认自动生成四张截图。
- 一键获取分享链接,设置防盗链,
token
防盗链或者仅允许指定域名iframe
调用。 ts
切片文件域名分发,负载均衡,支持无限多服务器同步分发。
项目地址
官方网站:https://www.moemv.com/
开源版官网:https://ffmpeg.moejj.com/
开源版演示:https://www.moejj.com
特别提示
目前高级版和纯净版云转码程序都已开发,包括即将开发完成的在线视频APP
安卓/IOS APP
软件,真正的做到CMS
+转码切片+APP
全方位一体化,上手更简单,并且转码和切片上比开源版强很多,切片质量也是非常的好,不管是在切片加载情况,播放切片时的流畅度及系统负载等方面,都有不错的表现,用过的人都知道,且高级版结合了最新的CPU+GPU
混合转码,在转码速度大幅度提高下,质量和压缩率都十分完美,同时纯净版和高级版都会长期频繁更新。
注意:对高级版或者纯净版有兴趣的看文章后面的介绍,有购买需求的可以加微信rats54。
这里感谢下购买过并支持该程序的人,有您的支持,以后该程序会越来越强大,更新会更频繁,功能越来越多,同时保证永远不会加后门,可放心使用。
效果展示
云转码的作用
传统视频如果没有正确的压缩,一般来说尺寸非常大,动则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分钟的切片内容,升级之后才会返回完整的切片内容。
- 卡劵系统 后台设定卡劵生成,可以设置开通会员时间,用户前台使用即可升级到对应的会员,到期之后权限失效,需要重新开通,如果连续使用则是累加会员时间。
安装
安装教程官网其实有,不过仅有Ubuntu
的手动教程,其它系统都没有,博主发现该程序所需的大部分环境宝塔面板均可以直接安装,鉴于为小白着想,这里就用宝塔面板安装该程序,支持的系统也多。
所需环境:nodejs
、expressjs
、mongoDb
、ffmpeg
、Redis
等
1、安装宝塔
#Centos系统 2.yum install -y wget && wget -O install.sh http://download.bt.cn/install/install.sh && sh install.sh 3.#Ubuntu系统 4.wget -O install.sh http://download.bt.cn/install/install-ubuntu.sh && sudo bash install.sh 5.#Debian系统 6.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
wget https://www.moerats.com/usr/down/ffmpeg/ffmpeg-git-$(getconf LONG_BIT)bit-static.tar.xz 2.tar xvf ffmpeg-git-*-static.tar.xz 3.mv ffmpeg-git-*/ffmpeg ffmpeg-git-*/ffprobe /usr/bin/ 4.rm -rf ffmpeg-git-*
3、安装Nodejs
#Debian/Ubuntu系统 2.curl -sL https://deb.nodesource.com/setup_8.x | bash - 3.apt install -y nodejs git 4. 5.#Centos系统 6.curl -sL https://rpm.nodesource.com/setup_8.x | bash - 7.yum install nodejs git -y
安装PM2
和express
:
npm install -g pm2 express
4、创建数据库
创建之前建议去面板软件管理那里找到MongoDb
数据库重启一下。
#这里数据库名,用户和密码都是ffmpeg 2.mongo 3.use ffmpeg 4.db.createUser({user:"ffmpeg",pwd:"ffmpeg",roles:[{role:"readWrite",db:"ffmpeg"}]}) 5.db.auth("ffmpeg","ffmpeg")
如果显示1
则增加用户正确,再使用Ctrl+D
退出。这里如果有No such file or directory
报错,请检查下数据库运行状态。
5、配置云转码
git clone https://gitee.com/quazero/express-ffmpeg.git 2.cd express-ffmpeg 3.#创建config文件夹 4.mkdir config 5.cd config
创建并编辑auth.js
配置文件:
nano auth.js
nano auth.js
将以下代码复制进去:
#该配置比很早的版本多了三个设置项,很多人出错就在这里,secret是session需要的秘钥,login是后台登陆地址,loginmsg 是后台未登录显示的内容,默认是404。 2.module.exports = { 3. user: "admin", 4. password: "admin", 5. db: "ffmpeg", 6. dbuser: "ffmpeg", 7. dbpassword: "ffmpeg", 8. secret: "yoursecret", 9. login: "/adminlogin", 10. loginmsg: "404 Not Found" 11.};
再使用Ctrl+X
,Y
确认退出编辑模式,参数从上往下依次是登陆云转码平台的账号,密码,数据库,数据库用户名,数据库密码。本教程安装的mongodb
数据库为ffmpeg
,用户名和密码都是ffmpeg
,可以自行进行修改。
6、安装并运行云转码
cd /root/express-ffmpeg 2.npm install 3.#如果服务器重启,则必须在express-ffmpeg源码文件里重新运行命令启动 4.pm2 start bin/www -i 0
7、反向代理
点击左侧网站,添加站点,然后再点击添加好了的域名名称,这时候就进入了站点配置,点击反向代理,目标URL
填入http://127.0.0.1:3000
,再启用反向代理即可。
8、站点配置
最后打开xx.com/adminlogin
,输入设定的账号密码,本教程设置的是admin
,admin
,进入之后点击设置,转码设置需要绑定域名,截图数需大于0
,然后域名分发可以不设置,但需要提交下、CMS
设置也需要绑定域名,播放器设置需要关闭强制QQ
浏览器播放,当然其它设置需要自行修改,不然视频很可能因为某个设置的问题放不了。
最后这里要说下的就是,如果你使用后,心理有个疑问,为什么转码速度这么慢,或者很慢?那么就意味着你需要换一个强一点的CPU
独立服务器,切勿用VPS
,VPS
的CPU
限制很多,如果你拿来转码,很有可能你的VPS
会被暂停,CPU
选择可参考跑分榜→传送门。
当然你要是只用秒切功能的话,对CPU
要求就不是那么大了,不是很耗资源。
云转码高级版
高级版官网:https://express-ffmpeg-vip.moejj.com
演示站:https://www.leimulamu.com/
高级版功能特性
1、多码率转码,码率自定义,秒切,史上最快的秒切速度。
2、跑马灯烧录,多码率自动适应,字体自定义,颜色自定义,间隔自定义,速度自定义,描边自定义,背景自定义。
3、多图片水印烧录,可设置一个图片一个位置,最多设置4个水印四个位置。
4、智能动态码率转码,根据视频自身的情况,智能分配每一帧的码率,相同码率下,压缩率更高,画面更清晰。
5、选择保留Mp4,是否切片,是否保留源片等。
6、srt,ass字幕自动烧录进视频中。
7、自动生成截图,自动生成动态图,后台可自定义相关参数。
8、GPU+CPU混合转码,超级快的速度,画面无损失,压缩率与纯CPU转码一致。
9、云储存,自建MINIO或者直接使用亚马逊S3,自动同步切片和图片、源片。
10、智能片头、片中广告插入,后台可智能生成片头视频,多片头、片中广告随机播放,随时替换,立马生效。
11、高级试看功能,根据用户登录情况,用户组权限情况,视频积分点播情况等实时动态返回m3u8内容,同一个M3U8返回不同的内容。
12、高级CMS系统,自带用户系统,用户上传,积分点播,用户组,VIP用户组,支付系统,订单系统,推广系统,签到系统,运营极其简单,后台豆瓣API自动获取信息。
13、自适应M3U8,根据转码的多分辨率,自动生成一个自适应M3U8地址,根据用户的带宽自动播放其中一个分辨率。
14、电影和电视剧系统,无论更新电影类型或者是电视剧类型都非常简单。
15、文章发布系统,图集发布系统。
16、分发系统,可多服务器同时提供服务,负载均衡。
17、超级防盗链,利用内置CMS可做到完全的防盗链,根据用户的权限,同一个m3u8返回完全不同的内容。
18、播放器时间轴预览功能,鼠标移动到时间轴上显示当前时间的预览图,外挂VTT字幕功能,用户后台上传VTT字幕,前台自动加载外挂字幕。
19、多位置,多时间段去除水印和跑马灯功能,介绍:https://express-ffmpeg-vip.moejj.com/blog/5d76121b9773bd51d721a00e。
20、推流服务器,直播板块,直播室功能,介绍:https://express-ffmpeg-vip.moejj.com/blog/5d7a597b9773bd51d721a010
21、实时聊天室功能,可用于直播间,多人在线实时聊天,基于socket开发,介绍:https://express-ffmpeg-vip.moejj.com/blog/5d8209ac9773bd51d721a011
22、附带全自动发布系统,可支撑自动发布至上千个CMS,体验链接:https://yzm.pw/
23、新增了入库自动分类,入库自动添加封面的功能。详见:https://express-ffmpeg-vip.moejj.com/blog/5db1b52d9773bd51d721a014 24、新增了采集页面,方便不使用自动发布平台的用户通过采集页面采集发布。
25、完全重写了APP,详见:https://express-ffmpeg-vip.moejj.com/blog/5db1b8e99773bd51d721a015
26、完全重写了后台UI,采用BOOTSTRAP4.3版本全面重现,重写了转码逻辑,更加稳定和快速,优化了整体操作,对新手更友好了。
27、防下载合并功能,禁止浏览器插件或者软件下载m3u8合并成mp4,智能托管ts文件。
28、新增多对多对接跨世代CMS系统,国内首款全面基于grapqhql第三代API系统全前后端分离系统,史上运行速度最快的CMS,基于graphql、nuxtjs、vuejs、SSR服务端渲染技术。完美原生支持EFV系统,自动发布电影、电视剧,可见截图。
29、m3u8/mp4下载功能,输入m3u8地址或者mp4直链,直接批量下载,同时并发10个进程同时下载,完全自动化,下载完成自动出现在视频库中,再配合去水印、跑马灯功能,世间一切资源由你掌控,详见:https://express-ffmpeg-vip.moejj.com/blog/5e0366c49773bd51d721a01b。 30、跑马灯模板功能,由于很多视频需要个性自定义跑马灯内容,所以我精心开发了跑马灯模板功能,设置好跑马灯之后,可在视频库中批量选择视频之后选择对应的跑马灯模板,之后烧录跑马灯的时候就会自动处理了。
31、增加了高级版的智能切片功能,并且优化了试看功能,智能切片配合切片时长功能,可做到720P800帧率下单个TS100KB。
32、新增了云储存同步的全家桶,经过我的重新设计,做了队列同步功能,非常稳定,目前对接了亚马逊S3,minio,七牛云,阿里oss,又拍云,任你选择,转码之后自动同步,同步之后可删除本地切片,并且通过分发设置,可直接对接到云储存使用云储存中的切片。
更多功能,继续开发中,每月更新。
云转码纯净版
该系统利用阿里巴巴开源的最强大的nodejs
框架egg.js
将整个转码切片系统抽离出来,最后制作完成了这款最好用、也最容易上手、安装也最简单的视频转码系统,称之为theone ffmpeg
转码切片系统,也是用企业级标准制作的一款高性能极致视频转码切片系统。
定位:极致的方便,极致的使用体验,极致的用户自定义,极致的转码切片效率,为极致转码切片而生,企业级设计和编码。
主要功能特性:
1、所有码率自定义。 2.2、5个分辨率可选择。 3.3、选择是否切片,选择是否保留mp4文件,选择是否秒切。 4.4、选择是否截图GIF动态图,宽度,截取时长,系统会智能截取视频中间最精彩位置进行截取。 5.5、水印图片自适应,根据生成视频分辨率自适应图片宽高,所有分辨率转码出来图片水印都一样大小。 6.6、多地方水印烧录,可以同时将水印添加到视频的四个地方。 7.7、切片时长自己设定。 8.8、超级截图,生成10个截图只需要1秒钟。 9.9、全方位优化代码,设置简单,功能超级强大。 10.10、安装极简,带宽允许情况下2分钟即可安装完成,安装完成直接使用无需配置。 11.11、一键批量获取m3u8,一键获取视频所有截图,mp4和m3u8等全部信息,一键自动复制。 12.12、跨域放行防护配置项,如果开启则域名调用会有跨域判断,如果不开启,则可以将m3u8给所有网站调用。 13.13、自定义储存视频路径,一键可自动入库,srt字幕自动烧录。 14.14、跑马灯自定义,跑马灯广告间隔,速度,跑马灯文字。 15.15、高级特性 切片默认自动缓存进内存,默认缓存1000个ts切片,用户播放直接从内存读取,突破硬盘io,但是请每一个核搭配至少2g内存,比如8核服务器,请至少16g内存。如果内存不够,可以适当调低缓存量。 16.16、可替换型片头系统,多片头随机播放,多片头随时替换,替换立刻生效,所有视频自动加片头广告。 17.17、智能批量复制m3u8,按照第三方CMS格式一键复制视频m3u8,非常方便。 18.18、自带采集页面,简单配置,即可火车头入库所有第三方CMS。 19.19、高级版剪切片头功能,可随意定制保存前端或后端,或者两个都保存,并且剪切之后可入库使用。批量剪切片头功能可作为视频剪切工具使用。 20.20、可选多视频同时转码,充分利用CPU效能。 21.21、去水印和跑马灯广告,可以在除去的同时添加自己的水印或跑马灯。
常见问题FAQ
- 1.关于新手解压出错 必看(附电脑+安卓WINRAR APP)
- 新手必看 本站资源解压教程:http://www.52cgzys.com/76304/
- 2.本站Telegram群组链接
- 3.所有礼包码下载地址:http://www.52cgzys.com/422289/
- 4.各类问题及解决处理方法合集