云转码切片管理平台Linux版本 基于nodejs开发
2018年9月4日大更新-云转码+cms一体化自动发布系统
这次完全更新完全改变了这套系统的定位,完全变成了云转码+cms一体化自适应自动发布系统,根据后台的分类和门户配置,在前台会自动生成CMS系统,拥有完备的视频播放系统,自适应,针对移动端完美优化,SEO优化效果极佳,无需额外配置,一键发布,一键分享。
更新了后台视频的分类和帅选、搜索功能,视频管理更加方便。
**适用于:**在线教育、在线培训,企业内部培训视频展示、视频自媒体发布等多种应用。
实际上线过后比截图更加完美,请自行测试。
大更新截图
增加会员系统
真正意义上的权限控制,路由层面的权限控制,相同M3U8文件,根据用户权限不同,动态返回不同的内容。
云转码切片管理平台介绍
- 实现大文件分块上传,批量上传。
- 实现服务器端自动动态码率转码并且切片,完成后会自动删除原视频文件。
- 实现批量添加水印和字幕,和同时处理。
- 实现截图,默认自动生成四张截图。
- 一键获取分享链接,设置防盗链,token防盗链或者仅允许指定域名iframe调用。
- ts切片文件域名分发,负载均衡,支持无限多服务器同步分发。
开源源码:云转码平台
官方网站:云转码express-ffmpeg
为什么要使用转码切片
传统视频如果没有正确的压缩,一般来说尺寸非常大,动则3Gb4Gb的大小,再者因为视频需要在网站中进行播放,传统中如果放置常规的flv或者mp4格式,那么浏览器会一直进行缓存,并且在缓存在一定播放长度之后才会进行播放,这样会消耗更多的带宽和让用户等待更长的时间,所以转码之后再进行切片是非常必须的,一来无损的压缩视频文件使其占用磁盘尺寸更小,并且基于hls格式,也是M3u8格式中储存了所有ts切片列表,这种模式加载,只需要加载第一个ts切片视频就可以开始播放,这样就使用户等待的时间更少,减少服务器带宽使用,并且画质的损失很小。这也就是为什么现在大部分视频网站都是使用hls格式来播放的。
安装说明
推荐环境ubuntu16.04,已经稳定运行并且提供服务多月。
一、安装ffmpeg(ubuntu16.04)
sudo add-apt-repository ppa:djcj/hybrid
sudo apt-get update
sudo apt-get install ffmpeg
二、安装nodejs,expressjs,mongodb,pm2,nginx
这个篇幅过长,详情见:express+nodejs+redis+mongodb+pm2+nginx环境部署安装,生产环境及开发环境部署
三、创建/config文件夹并在里边创建auth.js文件
代码如下:
module.exports = {
user: "username",
password: "password",
db: "dbname",
dbuser: "dbuser",
dbpassword: "dbpassword"
};
四、开启应用
进入应用文件夹,运行pm2 start ./bin/www -i 0
上边的-i 0的意思是以集群方式启动,根据当前服务器cpu线程数自动生成多线程共用一个端口。
五、增加中文字体
ffmpeg烧录字幕的时候会查找字体配置文件,/etc/fonts,如果里边没有fonts.conf,请将本源码中fonts.conf上传到/etc/fonts,有些linux系统没有中文字体支持,请将msyh.ttf上传至/usr/share/fonts里边。
软件开发框架介绍
- nodejs v8.7.0版本
- expressjs 4.16.0版本
- mongoDb 3.6版本
- ffmpeg 3.4.1版本
使用说明
- 创建/config文件夹并在里边创建auth.js文件 代码如下:
module.exports = {
user: "username",
password: "password",
db: "dbname",
dbuser: "dbuser",
dbpassword: "dbpassword",
secret: "yoursecret"
};
- 登陆后台之后请立刻在设置中进行设置。
- 上传视频即可上传视频。
- 转码页面一键转码。
- 支持后台字幕上传,名称与视频名一致,则系统会自动烧录字幕。例如:aaa.mp4,则srt字幕名为aaa.srt。(注意需要把srt文件转换成utf8格式)
- 支持一键入库,利用ftp等工具将视频上传至movies文件夹,后台可以一键入库,进行转码切片操作。
- 秒切功能,开启之后,无需进行转码的视频会直接切片。(后台可设置)
- 推荐手机和电脑都使用谷歌浏览器,手机上只有谷歌浏览器或者火狐浏览器才会加载vtt格式的外嵌字幕。
版本更新
V2版本:
大更新,增加门户CMS设置,内嵌CMS系统
增加播放器配置
播放器图片水印和文字广告
播放页面完全自定义图片水印和文字广告
增加P2P支持
v1.5版本
完全重构ffmpeg相关的所有代码。
将转码和切片合并成一次操作,提升双倍效率,原来是转码成mp4,然后再mp4切片。
完全重写切片代码,秒切的速度提升超过10倍,1G视频切片完成只需要半分钟。
v1.4版本
增加1080P的选项,支持更高清晰度转码切片。
增加ts文件分发功能,后台设置开启域名分发,m3u8文件会动态生成循环域名前缀的ts文件,一个m3u8里边就可以有多个同步服务器域名,达到负载均衡的目的。
v1.3版本
更改播放器为Dplayer播放。
增加VTT字幕支持,后台可以给视频分别上传vtt字幕,前台播放会自动加载。
增加一个webtorrent功能(测试玩)。
v1.2版本:
增加批量烧录字幕功能,支持srt字幕,改成和视频名一样,系统在转码的时候会自动把字幕烧录进去。如果存在srt字幕文件,则对应电影无论是否设置秒切都会进行转码。
增加批量入库功能,利用ftp或者其他工具将视频传至movies文件夹,在后台即可一键入库。
增加秒切功能,后台设置开启,即视频如果小于设置的分辨率并且编码为h264则会跳过转码直接切片。
增加自动生成截图功能,默认4张截图,路径yourdomain/videos/:id/(1|2|3|4).jpg。
v1.1版本:
批量上传视频,大文件切片上传。
批量转码并切片。
设置防盗链和分辨率,添加水印,一气呵成。
截图
帮助
有需要帮助可以联系我:QQ195996048
设置应用为开发环境:https://moejj.com/she-zhi-express/
centos编译安装ffmpeg:https://moejj.com/ffmpeg-2/
centos安装nginx并设置反向代理:https://moejj.com/centosan-zhuang-nginx/
pm2集群多线程开启express应用:https://moejj.com/pm2-ji-qun-kai-qi-express/
服务器重启之后的步骤:https://moejj.com/yun-zhuan-ma-chongqi/
云转码系统推荐上传方式:https://moejj.com/yun-zhuan-ma-shang-chuan/