EasyDSS RTMP流媒体解决方案之直播录像自动清理方案
本文转自Marvin的博客:
http://blog.csdn.net/marvin1311/article/details/78660592
EasyDSS_Solution直播录像清理
直播录像,可以根据配置将过期的录像清理,支持如下条件:
- 设定自动删除录像的时间,单位(天);
- 每次启动服务后,一分钟后如果开启清理都会检查清理;
- 默认设定每天凌晨3点执行检查清理任务;
- 更新参数设定时,都会会在一分钟内判断执行一次检查清理;
默认是关闭直播录像清理;
这样可以解决几种场景
(1)凌晨执行,降低资源消耗;
(2)改变参数时检查,可以根据最新参数清理无效录像文件,及时减少空间;
(3)启动服务自动检测,及时减少空间;
下面会讲下操作设定,及相关的一些编码实现;
1. 参数设定
默认参数是0,默认关闭录像清理
2.相关编码
2.1.定时任务
setInterval(function() {
//每分钟执行一次,判读是否到凌晨3点
if (currentLiveRecordDays != parseInt(global.live_record_days)) {
//第一次启动后一分钟执行
currentLiveRecordDays = parseInt(global.live_record_days);
if (currentLiveRecordDays != 0) {
removeRecordFile();
}
} else {
if (currentLiveRecordDays != 0) {
//判读是否达到时间
if (!isStartRecordRemove && parseInt(util.dateFormat(new Date(), "hh")) == 3) {
isStartRecordRemove = true;
removeRecordFile();
}
if (isStartRecordRemove && parseInt(util.dateFormat(new Date(), "hh")) != 3) {
isStartRecordRemove = false;
}
}
}
}, 60000);
2.2.比较日期,判断是否过期
function isOverdue(yyyyMMdd) {
var days = currentLiveRecordDays;
var tNow = new Date().getTime();
var yyyy = parseInt(yyyyMMdd.substring(0, 4));
var mm = parseInt(yyyyMMdd.substring(4, 6)) - 1;
var dd = parseInt(yyyyMMdd.substring(6));
var tFile = new Date(yyyy, mm, dd).getTime();
var t = tNow - tFile;
return t >= days * 3600 * 24 * 1000;
}
2.3.删除录像文件方法
遍历删除文件夹里所有子文件
var deleteFolder = function(path) {
var files = [];
if (fs.existsSync(path)) {
files = fs.readdirSync(path);
files.forEach(function(file, index) {
var curPath = path + "/" + file;
if (fs.statSync(curPath).isDirectory()) {
deleteFolder(curPath);
} else {
fs.unlinkSync(curPath);
}
});
fs.rmdirSync(path);
}
};
感谢你的阅读,更多内容会不断分享~
获取更多信息
QQ交流群:560148162
WEB:www.easydss.com
Copyright © EasyDSS.com 2012-2017
EasyDSS RTMP流媒体解决方案之直播录像自动清理方案的更多相关文章
- EasyDSS RTMP流媒体解决方案之Windows服务安装方案
Windows服务安装 EasyDSS_Solution流媒体解决方案,可以通过start一键启动.在实际应用中,我们希望可以设置成系统服务,那么下面我将会介绍,如何在windows中将流媒体解决方案 ...
- RTSP安防摄像机(海康大华宇视等)如何推送到RTMP流媒体服务器进行直播
方案介绍 目前互联网直播的CDN和标准RTMP流媒体服务器通常只能接收RTMP格式的音视频推流.目前市场上有一些自带RTMP推流的摄像机和编码器,可以直接在其rtmp推流配置里面配置推送到RTMP流媒 ...
- EasyDSS RTMP流媒体服务器基于RTMP拉模式和转推模式搭建公网全平台全终端直播集群的方案
近期,我们有一位EasyDSS流媒体用户在需求中提出:如何搭建一个用户量巨大的讲座直播,提供给普通用户免费观看,每天上午和下午分别有几场讲座同时直播,持续几天时间. 推荐方案 ★ 由于甲方是中国移动运 ...
- EasyDSS RTMP流媒体服务器web前端:vue组件之间的传值,父组件向子组件传值
之前接触最多的都是EasyNVR,主要针对的都是前端的一些问题.也有接触到一些easydss流媒体服务器. 前端方面的,EasyDSS流媒体服务器与EasyNVR有着根本的不同.EasyNVR使用的是 ...
- EasyDSS RTMP流媒体服务器是怎样炼成的:Easy而且更加互联网!
开发EasyDSS的初衷 自从12年开始做EasyDarwin的时候,当时眼光一直都仅仅局限在安防监控视频这一块,对RTMP没有太大的重视,对于后起之秀HLS更是没有太多关注,然而经历了15直播火热的 ...
- 编译EasyDSS rtmp流媒体服务器遇到stray '_239' inprogram,stray '_187' inprogram,stray '_191' inprogram的解决办法
使用用户提供的交叉编译工具链编译easydss时遇到一个编译错误 stray '\239' inprogram stray '\187' inprogram stray '\191' inprogra ...
- EasyDSS RTMP流媒体服务器的HTTP接口query url的C++实现方法
EasyDSS支持HTTP GET接口访问,我们需要获取url的各种参数信息 比如http://ip:port/action?a=1&b=2&c=3 我们需要知道对应的a.b.c的值 ...
- EasyDSS RTMP流媒体服务器videojs flash播放RTMP/HLS提示错误的解决方案
本文转自EasyDSS团队成员StarIT的博客:http://blog.csdn.net/staritstarit/article/details/73692715 问题 在博客<EasyDS ...
- EasyDSS RTMP流媒体服务器中调用videojs播放rtmp视频显示在左上角问题
本文转自EasyDarwin团队成员Penggy的博客:http://www.jianshu.com/p/f63f5b7c691b 问题描述: 近期我开发了一款新一代的RTMP/HLS流媒体服务器软件 ...
随机推荐
- 转载——C# 6.0可能的新特性及C#发展历程
据扯,C# 6.0在不远的将来就发布了,对应的IDE可能是VS 2014(.Net Framework 5.0),因为VS 2013已于2013年10月份发布了,对应的是.Net Franework ...
- 洛谷 P1618 三连击(升级版)【DFS/next_permutation()/技巧性枚举/sprintf】
[链接]:https://www.luogu.org/problemnew/show/P1618 题目描述 将1,2,…,9共9个数分成三组,分别组成三个三位数,且使这三个三位数的比例是A:B:C,试 ...
- APACHE 配置虚拟主机和HTTPS
prepare the running env of os make sure you are using redhat or centen os 7.5 cat /etc/redhat-releas ...
- 透过ReentrantLock窥探AQS
背景 JDK1.5引入的并发包提供了一系列支持中等并发的类,这些组件是一系列的同步器,几乎任一同步器都可以实现其他形式的同步器,例如,可以用可重入锁实现信号量或者用信号量实现可重入锁.但是,这样做带来 ...
- 全栈一路坑(4)——创建博客的API
上一篇博客:全站之路一路坑(3)——使用百度站长工具提交站点地图 这一篇要搭建一个API平台,一是为了给博客补充一些功能,二是为以后做APP提供数据接口. 首先需要安装Django REST Fram ...
- Java分布式服务框架Dubbo初探(待实践)
Dubbo是什么? Dubbo[]是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案. 其核心部分包含: 远程通讯: 提供对多种基于长连接的NIO框架抽象封 ...
- CMake的应用(在vision studio2008中去掉 ALL_BUILD 和 ZERO_CHECK)
from http://blog.csdn.net/jtop0/article/details/6167432 一般由CMake是 跨平台软件开发和维护过程的 工程构建工具.“在每个系统构建你的工程 ...
- 防止ddos攻击
1.防止ddos攻击 :接入层过滤器,去判断非法请求ip地主(如果请求过多,自己加入黑名单),上传至防火墙黑名单,不再录入 2.防止xss/css攻击 :在接入层,有第三方jra包工具类,过滤所有请求
- python 浮点数保留小数
http://www.cnblogs.com/Raymon-Geng/p/5784290.html 这里有三种方法, round(a,2) '%.2f' % a Decimal('5.000').qu ...
- EasyMvc入门教程-高级控件说明(20)表格控件
表单与表格是信息化系统里很常见的控件,EasyMvc提供了简单的数据绑定方式(基于Json),看下面的示例: 准备的接口地址代码如下:(该接口适用以下所有例子) public IActionResu ...