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流媒体服务器软件 ...
随机推荐
- 在Android 7.0以上PopupWindow.showAsDropDown()不起作用问题
最近优化界面,调用PopupWindow.showAsDropDown()发现,窗口并没有在控件下方显示. 有网友说是7.0以上系统的问题,可以自定义PopupWindow,重写showAsDropD ...
- (1)WCF托管
wcf 托管方式有很多种,常见的托管方式,iis,was,控制台,winfrom等. 先创建一个wcf服务 IService1.cs using System.ServiceModel; namesp ...
- VS2017使用
1. 用了一段时间的layui,发现官网的升级的功能很好用,于是把自己本地项目的layui升级到的高版本.按照官网上的代码几乎一模一样,但是功能就是出不来,之后发现本地虽然是高版本但是生成的脚本依然是 ...
- BZOJ4017 小Q的无敌异或(位运算)
题目链接 小Q的无敌异或 好久之前做的这道题了……参照了别人的博客……还是没有全懂. 第一个问题维护个前缀就好了,第二个问题还要用树状数组维护…… #include <bits/stdc++.h ...
- codevs——1154 能量项链(区间DP)
2006年NOIP全国联赛提高组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 题目描述 Description 在Mars星球上,每个Mars人 ...
- jvm 简单描述
java零基础入门-面向对象篇(一) 基础类型和引用类型 友情提示:本章开始可能会有部分较深入的内容,不说又不行,说了又很难解释清楚,因为里面的技术细节实在太多太复杂,所以我会屏蔽部分技术细节,只展示 ...
- 列表的 sort
题目:输入三个整数x,y,z,请把这三个数由小到大输出. 实例 #!/usr/bin/python # -*- coding: UTF-8 -*- l = [] for i in range(3): ...
- Theam,style
Theam <!-- Base application theme. --> <!--<style name="AppTheme" parent=" ...
- require_once(): Failed opening required '/var/www/config/config.php' (include_path='.:') in /var/www/vendor/forkiss/pharest/src/Pharest/Register/Register.php on line 10
环境 docker环境 错误 [Tue Jun 18 18:43:26 2019] 127.0.0.1:53980 [500]: /index.php - require_once(): Failed ...
- 【lombok】lombok---帮你简化生成必要但臃肿的java代码工具 【映射注解和lombok注解同时使用 以及 映射注解放在属性和get方法上的区别】
官方地址:https://projectlombok.org/ GitHub:https://github.com/rzwitserloot/lombok 指导说明文档:http://jnb.ociw ...