GB28181平台实现定时录像

博客介绍了GB28181平台与客户端可查询、回放和下载接入设备录像,若设备无存储,可在服务端定时录像。视跃的GB28181平台realgbs能配置录像计划,通过可变时等待定时器提高性能,避免高频率读数据库查询计划,实现高性能定时录像。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  按照GB28181协议,平台与客户端可以直接查询每个接入设备的录像,并可以回放和下载每个设备的录像。

  如果接入的GB28181设备没有配置存储,那么可以在gb28181平台服务端(所谓的云端)进行定时计划录像。

 视跃的GB28181平台realgbs就具备从服务端配置每个设备的录像计划,进行定时录像的功能,首先在录像管理里配置定时任务,如下图:

点击保存后,我们可以在录像任务里将制定的设备ID绑定该录像任务,然后每周每天,平台会按照设置的录像计划的时间段进行定时录像。录像可以在查询录像里回放,如下图:

这样,不需要给每个接入的GB28181设备配置存储卡了,是不是经济有方便。我们要说下定时录像的主要实现了。定时录像是需要使用定时器管理的,为了极限的提高平台的性能,我们实现了一个可变时等待的定时器,不需要一直定时扫描,如下代码:

bool CRecordService::onTimer(const comn::TimerID& id, uint32_t& interval)
{
	if (id == "recordtimer")
	{
		checkPlan();
		return true;
	}
	else if (id.find("start_") != id.npos)
	{
		vector<std::string> strArray;
		comn::StringUtil::split(id, '_', strArray);
		if (strArray.size() == 2)
		{
			startRecord(strArray[1], m_mapiStopTime.get(strArray[0]), gbt::kTimeRecord, "user");
			m_mapiStopTime.remove(strArray[0]);
		}
		return false;
	}
	else
	{
		LiveStreamRecorderPtr recorder = m_recorderMap.find(id.c_str());
		if (!recorder)
		{
			return false;
		}

		time_t tmNow = time(NULL);
		time_t stopTime = recorder->makeStopTime();
		if (stopTime <= 0 || stopTime <= tmNow)
		{
			stopRecord(id.c_str());
			return false;
		}
		else
		{
			interval = (int)(tmNow - stopTime);
		}
	}

    return true;
}

如上图可知,我们每次定时器挂起休眠的时间是根据录像任务和当前时间的差值是可以变化的,产生的差值就是变量interval ,这样不至于刷瓜的高频率的定时去读数据库,查询录像计划了。

这样就实现了高性能的带定时计划录像的GB28181平台,演示地址:https://gbs.realgbs.com:8280

更多信息

e-mail: yujesoft@163.com

tel: 13971177602

web:www.founu.com

1、支持国标GB28181平台、国标GB28181 IPC和国标GB28181 NVR设备同时接入 (支持GB28181-2011版本和GB28181-2016版本)     2、支持国标GB28181设备注册和注销,对所有设备进行管理,获取资源 对资源列表进行管理     3、支持国标GB28181的目录订阅,对接收的订阅通知进行处理     4、支持国标GB28181实时视频请求(支持UDP、TCP主动(tcpactive)、TCP被动(tcppassive))     5、支持国标GB28181 PTZ控制     6、支持国标GB28181 录像查询     7、支持国标GB28181 历史视频点播 (支持UDP、TCP主动(tcpactive)、TCP被动(tcppassive))     8、支持国标GB28181 历史视频下载 (支持UDP、TCP主动(tcpactive)、TCP被动(tcppassive))     9、支持对接收的国标实时视频码流和历史视频码流进行管理     10、支持将国标的PS码流转换成ES码流     11、支持丢包打印和断流打印     13、支持RTSP服务和RTSP会话管理     14、支持RTSP客户端 UDP传输和TCP传输     15、支持国标GB28181设备5000路左右的接入管理,支持国标请求视频在100路左右     16、支持国标28181设备和通道写入mysql数据库      17、支持设备的云台PTZ控制,控制类型:上"up",下"down",左"left",右"right",左上"leftup",左下"leftdown",右上"rightup",右下"rightdown",镜头近"zoomin",镜头远"zoomout", 焦距远"focusfar",焦距近"focusnear", 设置预置位"setpos",调预置位"callpos"     18、支持历史视频的查询和历史视频的点播控制     19、支持对国标设备的控制,"record":录像开启和停止-通道id "guard":布放和撤防-报警通道id "reboot":设备重启-设备id "keyfame":强制关键帧-通道id     20、支持对实时视频的图片截图,通过http直接访问图片    21、支持rtmp和hls会话一直保留    22、支持报警消息(设备上线、下线和设备端报警)通过httpclient方式主动通知    23、支持公网和局域网同时存在
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值