1 Star 0 Fork 33

唐三少 / BXC_VideoAnalyzer_v3

forked from Vanishi / BXC_VideoAnalyzer_v3 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

视频行为分析系统 v3

特别注意

视频教程

启动程序

  • 直接运行 VideoAnalyzer.exe 即启动整个项目,启动项目前建议阅读下面的 "配置说明"
  • 其他平台需要自行编译源码运行

配置说明

//config.json
{
  "version": "3",       //程序版本号
  "host": "127.0.0.1",  //部署机器IP地址(可以使用127.0.0.1,推荐使用ipconfig获取本机局域网IP地址)
  "adminPort": 9001,    //后台管理服务器端口
  "analyzerPort": 9002, //分析器服务端口
  "mediaHttpPort": 9003,//流媒体服务器端口
  "mediaRtspPort": 554, //流媒体服务器RTSP协议端口
  "mediaSecret": "aqxY9ps21fyhyKNRyYpGvJCTp1JBeGOM", //流媒体服务器安全码
  "rootDir": "www",     			     //报警产生的视频或图片存储位置
  "videoFileNameFormat": "%Y%m%d%H%M%S", //报警产生的视频名称格式
  "recordLogInterval": 30,               //主程序正常启动后记录日志的间隔时间,单位秒
  "workerConcurrency": 20,               //最大布控视频流数量
  "supportHardwareVideoDecode": false,   //是否支持硬件解码(建议关闭硬件解码,将硬件资源留给算法)
  "supportHardwareVideoEncode": false,   //是否支持硬件编码(建议关闭硬件编码,将硬件资源留给算法)
  "algorithmWeight": "models\\yolov8n.xml", //算法模型权重数据
  "algorithmDevice": "GPU",                 //算法模型运行设备,CPU or GPU
  "algorithmWeightConcurrency": 1           //分析器启动时,加载算法模型的并发数

}

ffmpeg命令行推流


//将本地文件推流至VideoAnalyzer(该命令行未经优化,延迟较大)
ffmpeg -re -stream_loop -1  -i test.mp4  -rtsp_transport tcp -c copy -f rtsp rtsp://127.0.0.1:554/live/test

//将摄像头视频流推流至VideoAnalyzer(该命令行已优化,但仍然存在延迟,如果想要彻底解决推流延迟,可以参考我的视频:https://space.bilibili.com/487906612)
ffmpeg  -rtsp_transport tcp -i url -fflags nobuffer -max_delay 1 -threads 5  -profile:v high  -preset superfast -tune zerolatency  -an -c:v h264 -crf 25 -s 1280*720   -f rtsp -bf 0  -g 5  -rtsp_transport tcp rtsp://127.0.0.1:554/live/camera

// 备注
根目录下data文件夹中,我提供了一个test.mp4,大家可以测试,模拟视频流

有关ffmpeg推流的几点补充说明

  • 通过ffmpeg命令行实现的推流功能,延迟总是存在的,且无法解决。但基于ffmpeg开发库却可以彻底解决延迟推流的问题,可以参考我的视频:https://space.bilibili.com/487906612
控制面板 视频流管理 报警视频管理 算法管理 布控管理 编辑布控 播放算法视频流
v3主要更新功能点
  • 1 基础算法模型升级,yolov5升级至yolov8
  • 2 基础算法模型推理继续采用openvino,区别在于 V1,V2版本是基于python版openvino调用,V3版本则是基于c++调用,c++版可以大幅度减少性能损耗和程序交互复杂度,极大提升了视频分析的计算频率。
  • 3 布控算法模块,周界入侵算法功能完善,支持绘制算法识别区域,支持监测周界入侵的分类,比如支持监测人,狗,猫等等分类。
  • 4 分析器模块和算法模块合并,在V1和V2版本中两个模块各自独立,通过api接口进行交互,V3版本中两个模块合并,通信也不需要再借助api而是直接调用,效率大幅度提升。
  • 5 流媒体模块跟随开源代码的更新而更新,同时二次开发中去除不需要的流媒体协议
  • 6 后台管理模块,新增了合成报警视频的管理功能,可以对报警视频进行增删改查,布控中的视频产生的报警视频会出现在这个功能中。同时在布控过程中,支持绘制布控周界区域和选择监测分类。
MIT License Copyright (c) 2022 Vanishi Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

视频行为分析系统V3版本编译安装包,下载后可以直接运行,本次V3版本更新的内容非常多,相比于过去的两个版本功能更加完善成熟,V3版本可以作为产品直接使用。 (当前仅提供Windows版编译安装包,其他平台需要自行编译源码) 展开 收起
C++
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C++
1
https://gitee.com/149414567/BXC_VideoAnalyzer_v3.git
git@gitee.com:149414567/BXC_VideoAnalyzer_v3.git
149414567
BXC_VideoAnalyzer_v3
BXC_VideoAnalyzer_v3
master

搜索帮助

344bd9b3 5694891 D2dac590 5694891