视频管理
我们和用户上传后的视频,都会显示在这里,其中用户上传的视频需要我们审核通过后才会自动转码,所有转码完成的视频并不会直接发布到cms
,需要我们手动点击发布,才会显示在cms
中。
队列转码
该功能就是给你启动转码,点击一次后,会自动给你生成1
分钟一次的检测任务,如果检测到有未转码的视频,那么会自动给你转码。
这里需要注意的是:
1、开启队列转码后,不需要额外点多次该按钮,无意义,点多了有一定几率出问题。
2、每次程序重启,停止后,队列自动关闭,所以再次启动的时候需要重新点击一次队列转码。
停止队列
这是给你停止队列转码,也就是停止后,就不会给你监控,并自动转码了。
全部正式发布
点击该按钮后,你可以将全部转码完成的视频,发布到自带的前端cms
,不用cms
的可以不用点击。
扫描入库
该功能可以把源码目录movies
文件夹里的所有视频自动导入到视频库,所以我们可以使用ftp
或者其它方法将视频移到movies
文件夹进行入库转码,从而代替后台的上传功能。
1、入库自动分类
比如我在movies文件夹里新建一级目录教育片,然后把有关教育方面的视频存放在该目录,那么在后台电影库点击扫描入库的时候,会自动给你新建一个教育片分类,并且入库教育片文件夹里面的视频会自动分类到教育片中。
2、封面自动入库
将指定视频的封面(格式jpg,jpg,png,jpeg)和该视频放到同一个入库文件夹(moveis或者分类文件夹),那么在电影库入库的时候,会自动给你上传封面,转码的时候会跳过自动生成封面。
批量去水印/跑马灯
我们可以选择一个或多个视频,然后直接使用事先设置好的模板进行去水印/跑马灯,且必须在转码之前设置,不然会无效,具体用法参考→传送门。
设置跑马灯模板
我们设置多个跑马灯后,在转码的时候可以针对部分视频,选择不同的跑马灯,如果不设置,则默认为转码设置处的跑马灯。
批量剪切片头
该功能可以选择一个或者多个视频,然后为其设置剪切的片头时长,即可在转码的时候自动剪切片头,该步骤请在转码之前设置,不然会无效。
导出表格
该功能可以选择一个或者多个视频,然后一键导出所选视频的所有m3u8
信息成表格,如果你选择的视频还未转码成功,那么不会给你导出链接。
定制转码
该功能可以选择一个或者多个视频,然后为其单独设置转码参数,这样就不受核心转码设置影响,该步骤请在转码之前设置,不然会无效。
提示:以下功能均在视频右侧的操作按钮弹出下列选项。
正式发布
如果你转码完成,并且想用自带的cms
,那么还需要点击一下发布,才能显示到前端cms
,不使用可以不点。
上传封面
如果你不喜欢随机生成的封面,可以自己上传喜欢的封面即可,上传的高度、宽度请前往转码设置
处设置。
简易编辑
这里主要是为视频设置单独的点播积分,如果不设置就默认为cms
设置的点播积分。
详细编辑
该处的视频信息编辑会很详细,也可以从豆瓣拉取对应的视频信息参数。
上传vtt字幕
该功能可以为指定视频上传vtt
外挂字幕,且只在前端cms
播放器生效。
复制m3u8
我们可以通过该处获取视频的自适应m3u8
、对应的分辨率m3u8
、海报,截图,mp4
等信息。
推荐
该按钮可以将视频推荐到前端CMS
首页,如果你不使用自带的CMS
,那么可以不点。
视频上传
该处你可以将视频传到视频管理处进行转码切片。
上传的相关问题及解决方法:
1、上传很慢
原因可能是本地与服务器之间网络连接不好,可以尝试将视频通过FTP工具或其它方法将视频传到源码的movies文件夹,再点击电影库的扫描入库即可,建议参考扫描入库说明。
2、有些视频后缀上传不了
默认支持上传后缀:mkv,mp4,avi,rmvb,rm,flv,mpeg,vob,srt,ass,ts。
解决方法一:可以使用入库,将上传不了的视频通过ftp等工具上传到转码movies文件夹,然后在视频库点击入库即可。
解决方法二:修改后缀上传限制,修改routes/index.js文件,位于var upload = multer处,按格式新增你需要的后缀,然后pm2 reload all重启生效。
转码设置
提示:这里只列举几个主要的选项设置,其它的选项就自行理解和修改。
绑定域名
这里如果你使用的ip:3000
访问的,则填上ip:3000
,反之,使用的域名就填上域名。
GPU转码
开启后,我们就可以使用GPU+CPU
混合转码,可以极大的提高转码速度,并可以保证视频的质量和压缩率,前提你的服务器需要有显卡,不然别开启,否则转码会报错。
自定义切片路径
该处我们可以随机设置切片存储路径,默认路径为{yy}{mm}/{dd}/{id}/{random}
,可用替换参数如下:
{yy}为当前年份,比如2019
{mm}为当前月份,比如04
{dd}为当前日期,比如21
{id}为24位唯一ID(可用于视频名称储存)
{name}为当前转码的视频名
{random}为随机6位字符(用于分辨率储存)
{hd}为转码的分辨率,比如720(用于分辨率储存)
这里可以按要求用任意随机组合自定义储存路径,且会自动添加前缀/videos
,此不可更改,比如:
1、设置{yy}{mm}/{dd}/{id}/{random},m3u8路径如下:
/videos/201912/29/5e08883bf82bbe04938f7330/k98h7i/index.m3u8
2、设置{yy}{mm}/{dd}/{name}/{hd}
/videos/201912/29/你很帅/1080/index.m3u8
注意以下2
点:
1、最后的参数必须为分辨率,且{random}和{hd}仅能存在一个且必须存在一个
2、使用{name}参数的时候,请尽量不要有英文(')等有特殊意义的符号。
自定义切片后缀
该功能可根据自己需求定制切片文件的后缀,可修改为jpg
,png
,gif
等任何后缀,推荐ts
,请尽量在正式使用前确定好后缀,使用期间如无特殊需求请勿随便修改切片后缀。
多码率
根据你的需求,选择多个分辨率,转码后,就会同时生成多个分辨率的切片,码率设置的越多,转码就越慢,所以在cpu
不是很好的情况下,尽量少选,且至少选择1
个。
同时转码数
该设置决定服务器同时转码的视频个数,最少为1
,建议设置3
到5
个即可。
码率设置
码率设置的越大,视频越清晰,同样的体积也会增大,但默认最高为原片码率。
全局跳过片头
设置后会自动跳过也就是去掉多少秒的片头后再转码,无需单独切片头,推荐比要切的时长多设置几秒,勿超过视频时长,该选项在秒切模式下不生效
保留mp4
选择是否保留某个分辨率的mp4
文件,如果选择不在多码率对应中的一个分辨率,则不会保留任何mp4
。
是否保留原片
开启后,转码完成时原片不会删除,建议配合云储存一起使用,设置了云储存,原片会同步到云储存之后删除,如未设置,则保留在本机中。
是否生成预览缩略图
开启生成缩略图,播放页面鼠标移动到进度条上可显示当前时间轴上的预览图,且只在自带的cms
播放器生效。
是否切片
如果你要切片,就必须开启该功能,关闭则不会给你切片,只会给你转码成mp4
文件。
智能切片
该功能需要配合切片时长设置一起使用,可以最大程度的缩小单个切片的体积,可以做到720P
单个TS 100KB
左右。
关于智能切片说明:
1、如果使用智能切片,请不要开启秒切,不然智能切片功能会无效。
2、智能切片需要配合切片时长设置一起使用,设置的时长越短,切片体积越小。
3、单个切片的体积越小,硬盘读取速度越快,后果可能会有点卡,所以谨慎设置,这里建议设置4s。
开启秒切
如果开启该功能,那么符合lixb264
和aac
编码的视频文件,比如大多数mp4
,会直接给你切片,基本上1s
切完,而不会给你转码。
且开启秒切后,一定要设置秒切挂靠分辨率
,也就是将秒切后的m3u8
链接放到指定的分辨率下,方便读取使用。
秒切要注意的是:
1、秒切不会给你烧录水印、跑马灯,字幕,转码成其它分辨率,直接会给你切片,也就是原视频什么样,切后就是什么样。
2、如果不符合秒切的视频,依旧会给你先转码,再切片。
开启智能切片
开启该功能后,在切片时长为1
的情况下,可最大化减少单个切片体积,建议设置为4s
,且不要开启秒切功能。
秒切挂靠分辨率
设置该选项后,你秒切的m3u8
就会显示在指定的分辨率栏,方便调用,如果未开启秒切则不用管。
跑马灯广告
设置跑马灯,转码成功后,文字会出现在视频最上方,不间断出现,注意文字之间不能有空格和英文冒号,不然转码会出问题。
不想烧录跑马灯的话,留空即可。
跑马灯颜色,背景之类的,可以自行修改。
跑马灯字体大小
跑马灯默认大小为30
,是按照720P
的视频计算,会自动适应视频的宽高,可自行按照30
为基准设置。
跑马灯持续时间
跑马灯持续时间为每一次跑马灯广告出现持续的时间,相当于跑马灯的速度。
跑马灯间隔
跑马灯间隔,间隔多少秒出现一次,准确控制跑马灯出现间隔。
截图设置
选择是否截取某个片段生成gif
动态图。
截取时长指截取多少秒的视频生成gif
。
截取起始位指从多少秒开始截取,需要注意必须少于视频时长,要不然会直接跳过生成gif
过程。
gif
尺寸指的是生成的gif
的宽度,高度是自适应的。
TS加密
如果你开启了ts
加密,那么请注意,绑定域名必须为已经是在使用的这个域名或者ip:3000
地址,要不然转码之后会出现无法加载key
文件导致加载失败的情况出生。
域名分发
该功能就是实现负载均衡,原理就是当用户请求m3u8
的时候,会从多个源站随机读取切片,从而改善服务器的负载、带宽不足的情况,具体用法参考→传送门。
水印管理
水印可以同时设置4
个,不需要水印的可以不用添加,水印格式请选择png
。
CMS设置
通过该选项你可以设置前端域名,是否开启cms
、ts
广告、会员系统、用户上传、支付系统、试看、积分点播、采集页面等
注意:开启试看后站外调用m3u8
则永远是试看一分钟,只有在本站登录之后并且用户组正确才能播放完整视频。
剧集管理
该处用来添加电视剧的,具体用法参考→传送门。
文章管理
该处是用来发布文章的,自行研究。
图集管理
该处是用来发布图集的,自行研究。
分类管理
这里的分类只是方便在电影库筛选出多个相同分类的视频,然后一起进行管理,但不会显示在CMS
前端,具体用法参考→传送门。
标签管理
标签会显示在前端CMS
的发现栏目,具体用法参考→传送门。
评论管理
该功能是用来审核、删除用户在视频下方的评论。
用户组管理
分为用户组和付费用户组,均以积分为参考点,设置相应的分辨率观看权限,且观看权限向下兼容,即360P
所在用户组权限可同时观看360P
和240P
,具体用法参考→传送门。
用户管理
该功能是用来编辑用户的昵称、邮箱、密码、积分、vip
到期时间等信息。
支付管理
这里只需要填上你的企业支付宝appid
、privatekey
、publickey
即可。
订单管理
该处我们可以查看用户购买的信息,方便查询。
积分VIP设置
提示:使用该功能前,必须先去用户组管理处设置并添加付费用户组。
我们可以通过设置付费用户组的包月时长,所需积分,方便用户快速升级到指定用户组一段时间,用来观看指定分辨率,具体用法参考→传送门。
卡卷管理
卡券是在用户管理栏目生成,可以生成多张指定积分的卡券,用来给用户使用卡券充值积分,我们可以使用第三方发卡平台来发布卡券号码。
APP广告管理
该处可以给app
添加开屏等广告内容,没app
的可以不用管。
云存储设置
该功能可以将源片和转码后的切片、截图、MP4
均实时备份到终端,目前支持阿里云OSS
、Minio
、七牛云
、S3
、又拍云
等,日后会增加更多,且可以配合分发设置一起使用。
MinIO
服务器搭建教程→传送门,选择MinIO
的时候,网址填ip
,别带http://
,设置好了后,开启监听同步即可。
设置对接跨世代CMS
改处可以给我们很方便的将转码后的视频自动发布到我们的第三方cms
,详细介绍查看→传送门。
P2P加速
前端cms
所使用的Dplayer
播放器中内置了CDNBye P2P
,一个基于WebRTC
技术的视频网站省流量&加速引擎,开启步骤如下:
#使用P2P步骤
需要访问控制台(https://oms.cdnbye.com),注册一个账户,然后再绑定域名即可,有多少个域名就绑定多少个。
#流量收费规则
1、每个账号每日免费赠送10GB P2P流量,次日清零
2、每日在控制台完成签到后再赠送40GB P2P流量,次日清零
3、超出免费额度后停止P2P服务,如果继续使用,可以购买付费服务,包括:
流量包,购买的流量包额度越大,价格越划算,且可以使用更多P2P流量,直到剩余可用流量为零
包年包月套餐,分为每日10TB、每日20TB和无限流量三种,按月或者按年付费
差不多每天靠签到可以获取50G
加速流量,对于小视频站是足够了。
最后去控制台绑定一下域名后,然后就自动激活了高级版的P2P
流媒体加速,右键高级版播放器,就可以看到P2P
信息了。
这里要说的是,P2P
对于同时在线观看较少的没啥效果,需要同时在线100
人甚至更多就有点效果,所以建议不要盲目的开启P2P
。
直播功能&使用
1、开启直播功能
编辑配置文件config/auth.js
,将rtmpon: false
改成rtmpon: true
,然后使用pm2 reload all
重启程序,用来开启推流服务器,当然开启了的,可以跳过。
接着再开启直播功能,需要在后台CMS
管理填上直播推流和服务器地址,均默认为rtmp://服务器ip:1935/live
和http://服务器ip:8889
,然后保存即可。
接下来管理员需要在后台用户管理处选择相应的用户创建直播密匙,也就是为该用户开启直播权限,然后该用户会在个人页面看到密匙。
2、使用直播功能
有直播权限的用户需要先去下载OBS Studio
软件→传送门,安装好了后,打开软件,点击左上角的文件-设置-推流,设置如下:
选择自定义,服务器默认为rtmp://服务器ip:1935/live
,身份验证可以不填。
注意事项
- 直播推流和服务器地址运行端口,均可在配置文件
config/auth.js
修改,对号入座即可,然后pm2 reload all
重启生效。 - 修改端口后,如果直播出现问题,请检查并开启防火墙对应的端口,开启方法见文档相关教程或自行百度搜索。
- 如果使用了域名反代且添加了
SSL
证书并开启了https
访问,请同样的使用一个二级域名比如live.xx.com
,对http://127.0.0.1:8889
进行反代,并添加SSL
证书,然后在CMS
管理处修改服务器地址。