云转码切片管理平台Linux版本 基于nodejs开发

云转码切片管理平台Linux版本 基于nodejs开发

2018年9月4日大更新-云转码+cms一体化自动发布系统

这次完全更新完全改变了这套系统的定位,完全变成了云转码+cms一体化自适应自动发布系统,根据后台的分类和门户配置,在前台会自动生成CMS系统,拥有完备的视频播放系统,自适应,针对移动端完美优化,SEO优化效果极佳,无需额外配置,一键发布,一键分享。
更新了后台视频的分类和帅选、搜索功能,视频管理更加方便。
**适用于:**在线教育、在线培训,企业内部培训视频展示、视频自媒体发布等多种应用。
实际上线过后比截图更加完美,请自行测试。

大更新截图
FireShot-Capture-2---------------http___localhost_3000_

FireShot-Capture-3---------------http___localhost_3000_

FireShot-Capture-4-----cms-----http___localhost_3000_admin_portal

FireShot-Capture-5----------http___localhost_3000_admin_categories

FireShot-Capture-6-----------http___localhost_3000_admin_movies

FireShot-Capture-7--------------------------_---http___localhost_3000_movie_5b8e49643c3ee95a185469a7

FireShot-Capture-8--------------------------_---http___localhost_3000_movie_5b8e49643c3ee95a185469a7

增加会员系统

真正意义上的权限控制,路由层面的权限控制,相同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版本

使用说明

  1. 创建/config文件夹并在里边创建auth.js文件 代码如下:

module.exports = {
user: "username",
password: "password",
db: "dbname",
dbuser: "dbuser",
dbpassword: "dbpassword",
secret: "yoursecret"
};

  1. 登陆后台之后请立刻在设置中进行设置。
  2. 上传视频即可上传视频。
  3. 转码页面一键转码。
  4. 支持后台字幕上传,名称与视频名一致,则系统会自动烧录字幕。例如:aaa.mp4,则srt字幕名为aaa.srt。(注意需要把srt文件转换成utf8格式)
  5. 支持一键入库,利用ftp等工具将视频上传至movies文件夹,后台可以一键入库,进行转码切片操作。
  6. 秒切功能,开启之后,无需进行转码的视频会直接切片。(后台可设置)
  7. 推荐手机和电脑都使用谷歌浏览器,手机上只有谷歌浏览器或者火狐浏览器才会加载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版本:

批量上传视频,大文件切片上传。
批量转码并切片。
设置防盗链和分辨率,添加水印,一气呵成。

截图

-----2018-07-31---10.18.37
-----2018-07-31---10.18.51
QQ20180731-0
-----2018-06-15---6.25.07
-----2018-06-15---6.25.48

帮助

有需要帮助可以联系我: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/

历时4个月,真正商用级app终于完成!并且伴随efvcms和分离cms的巨量更新!

这四个月,我完全沉迷于app的开发,每天翻阅各种中英文资料,就为了做成一款真正超越市面所有在售视频类app的一款产品出来。我花了整整一个多月就为了设计出一种大框架,这种大框架是一种约定俗成的规则,最终我找到了解决方案,拥有了大框架以后,以后所有app的研发速度直接提高5倍以上。以后整个研发的中心将会全部转移至移动端上边去,后面计划中的不仅有管理员专用app(拥有视频管理,剧集管理,离线下载,用户管理等),更有一个漫画app,一个音频节目类app,真正做到一套源码,多个app。话不多说,直接上图看看成品效果: 图片无法展示所有细节,给一个安卓安装包,请自行安装测试,感受如德芙丝滑版的流畅体验!安装地址:https://www.leimulamu.com/app/android.apk app特点: 1、如德芙般丝滑的用户体验,采用flutter开发,双端通用,并且都测试通过。 2、全页面反复测试,设计出了最佳ui,效果极佳!欢迎自行下载app测试。 3、几乎完美的广告嵌入,支持:固定位广告,开屏广告,信息流广告,

  • quazero

记录一次分离前端根据用户登录信息显示或不显示某元素的低级错误!

这次在用sapper写前端的时候,又犯了一个非常低级的错误,导致了长时间的页面无法访问,并且提示500错误,这个错误原来也经常犯,屡犯不改就是最大的错误,这次专门写一个博文来加深记忆!!!! 首先声明:这是一个极其低端的错误,任何前端工程师都不应该犯如此低级的错误! 前提背景:我们在做分离前端的时候,必然会涉及到登录,很多功能都是在登录状态下才会显示,就比如自媒体中心投稿之后,在稿件标题旁显示编辑和删除按钮,这里就要进行一个小判断,判断是否本稿件的创建人和目前登录的这个账号的id一致,也就是判断是否是本人,然后再显示编辑按钮,或者还可以加一个判断,比如管理员账号也可以直接显示编辑按钮,这个时候我那个低级错误就出现了,我进行了判断。 代码如下: <h1 class="catd-title h5"> {topic.title} {#if user._id == topic.creator._id || user.isadmin} <a href="/topic/edit?id={topic._id}">

  • quazero

nodejs中使用cheerio造成中文被转义成HTML 实体编码,既&#x开头的编码问题解决。

这几天在做一个自媒体平台,类似于百度头条号,今日头条和看点那种用户发布UGC内容的功能,其中有一个需求,就是根据用户使用富媒体编辑器传回的html内容,抽取其中的img标签,然后进行批量添加alt的功能,这个时候我就使用了cheerio来处理比较方便,但是就突然出现了一个非常奇怪的情况,当我新建文章之后,发现HTML中显示的就全部变成了&#x开头的HTML实体编码。 问题截图: 这就很奇怪,一开始我思考的方向是可能编码有问题,然后在分离cms的前端进行批量替换处理也许就能解决这个问题。后面查阅了大量资料,才发现是CHEERIO的问题,那么查阅cheerio的文档,发现有设置项可以直接关掉html实体编码的功能。 代码如下: var $ = cheerio.load(sres.text, {decodeEntities: false}); 也就是{decodeEntities: false},添加到option对象中就能解决这个问题。

  • quazero

代做工资流水公司沧州转账银行流水公司潮州代做企业对公流水西安银行流水账单代做铜陵做工作收入证明绵阳房贷工资流水 查询海口代做企业流水打印莆田办车贷工资流水济南打工作收入证明舟山企业对私流水公司湖州银行流水账单代做德阳企业对公流水打印潍坊开工资流水app截图惠州对公流水查询淄博代办对公银行流水邢台薪资流水单价格嘉兴车贷银行流水 查询铜陵银行流水修改代开泰州开工资流水账单珠海消费贷流水代办泰州打流水银川房贷流水公司汕头企业对公流水样本徐州开房贷流水济南对公银行流水图片苏州入职流水报价烟台对公流水公司珠海对公流水湘潭企业对公流水开具株洲房贷银行流水 模板沧州流水单制作香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤

代做工资流水公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化