zoukankan      html  css  js  c++  java
  • RTSP协议视频结构化智能分析平台EasyNVR开启录像无法做停止操作原因分析

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

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

    经过分析发现应该是在程序停止的时候,推流库连接失败,一直在重试导致程序没法彻底停止。多次测试发现,出现这个问题和通道是否录像没有关系,在程序拉流的同时按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适用于各类音视频直播场景,比如教育行业的在线教育、网络课堂等,娱乐行业的美女直播、游戏直播等,广电行业的电视直播、赛事直播等,另外还适用于企业协作、远程医疗、云监控、庭审直播等其他视频相关行业,可直接下载部署测试。

  • 相关阅读:
    SQL GUID和自增列做主键的优缺点
    php 一维数组去重
    php + crontab 执行定时任务
    PHP内置函数生成随机数的方法汇总
    PHP替换回车换行的三种方法
    Yii2查询之where条件拼装
    yii2 使用阿里大鱼短信
    javascript对数据处理
    Vue 404页面处理
    vue 中view层中方法的使用
  • 原文地址:https://www.cnblogs.com/EasyNVR/p/14633607.html
Copyright © 2011-2022 走看看