RTSP协议视频结构化智能分析平台EasyNVR开启录像无法做停止操作原因分析

文章讲述了在EasyNVR视频结构化智能分析平台上遇到的录像无法停止的问题,该问题源于程序停止时推流库连接失败并持续重试。通过修改代码,确保推流库连接成功后自动停止,解决了程序无法彻底关闭的状况。EasyNVR适用于在线教育、游戏直播、安防监控等多个音视频直播场景。
摘要由CSDN通过智能技术生成

视频结构化给现在飞速发展的视频监控体系整理带来了有价值的变化,视频数据更加容易筛选,作为视频结构化智能分析平台,EasyNVR具备稳定易用、低延迟等特点,为安防视频监控可视化的基础视频能力。EasyNVR平台具备直播、录像、视频分发等功能,但是近期测试中EasyNVR开启录像后无法停止录像了,强制停止(./stop ctrl + c)也无效。

NVR3.png

我们重现一下该问题,在控制台直接以./easynvr启动,然后配置通道录像,过一会使用ctrl+c去停止程序,就发现控制台一直在报错:

87.png

经过分析发现应该是在程序停止的时候,推流库连接失败,一直在重试导致程序没法彻底停止。多次测试发现,出现这个问题和通道是否录像没有关系,在程序拉流的同时按crtl+c去停止,就会触发上图报错现象。

因此我们修改代码如下,让推流库连接成功之后自动停止,这样在程序停止的时候,就不会出现上述现象了。

func (p *program) Stop(s service.Service) (err error) {
   defer log.Println("********** STOP **********")
   defer utils.CloseLogWriter()
   p.StopHTTP()
   go channels.ClearChannels()
   models.Close()
   dss.Stop()
   cms.Stop()
   nvc.Stop()
   uac.Stop()
   return
}

EasyNVR适用于各类音视频直播场景,比如教育行业的在线教育、网络课堂等,娱乐行业的美女直播、游戏直播等,广电行业的电视直播、赛事直播等,另外还适用于企业协作、远程医疗、云监控、庭审直播等其他视频相关行业,可直接下载部署测试。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值