# BXC_FaceRecognition **Repository Path**: ac9999/BXC_FaceRecognition ## Basic Information - **Project Name**: BXC_FaceRecognition - **Description**: 人脸考勤系统,基于C++和Python开发,yolov8-face作为人脸检测器,dlib作为人脸识别器的人脸考勤系统。使用该系统不限制接入摄像头数量,不限制摄像头布控数量,只需要在系统中录入人员信息,所有出现在布控摄像头的人员都会被检测和识别,未录入系统的人会被标记为陌生人。 - **Primary Language**: C++ - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 45 - **Created**: 2024-01-22 - **Last Updated**: 2024-01-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### 人脸考勤系统 * 作者:北小菜 * 个人网站:http://www.any12345.com * 邮箱:bilibili_bxc@126.com * QQ:1402990689 * 微信:bilibili_bxc * gitee下载地址:https://gitee.com/Vanishi/BXC_FaceRecognition * github下载地址:https://github.com/any12345com/BXC_FaceRecognition ### 人脸考勤系统介绍 * 这是一个基于C++和Python开发,yolov8-face作为人脸检测器,dlib作为人脸识别器的人脸考勤系统。使用该系统不限制接入摄像头数量,不限制摄像头布控数量,只需要在系统中录入人员信息,所有出现在布控摄像头的人员都会被检测和识别,未录入系统的人会被标记为陌生人。 ### Windows版启动运行 * 第一步下载程序:下载master分支对应的程序就是Windows版程序 * 第二步运行程序:可以双击运行 FaceRecognition.exe启动程序,观察窗口提示如果没有报错,即表示启动成功 * 第三步打开程序:在浏览器输入 http://127.0.0.1:9001 系统默认账号 用户名:admin 密码:admin888 * 第四步停止程序:关闭启动程序窗口即可 ### Linux版启动运行 * 需要自己获得源码编译,源码支持跨平台,但未提供CMakeLists.txt文件,需要自己编写,推荐参考视频行为分析系统v3.2编译教程,学习编写CMakeLists.txt和编译程序 ### 如何获得源码 * 人脸考勤系统源码购买地址(淘宝) https://item.taobao.com/item.htm?id=763451492410 * 人脸考勤系统源码购买地址(闲鱼) https://m.tb.cn/h.5KFEz8u?tk=e1i5W7rfEeP ### 视频教程 * 人脸考勤系统视频介绍地址 https://www.bilibili.com/video/BV1Kk4y1D77L/ ### 配置说明 ~~~ //config.json { "host": "127.0.0.1", //部署设备IP地址(可以使用127.0.0.1,建议使用ipconfig获取本设备IP地址,可以实现远程访问) "adminPort": 9001, //后台管理服务器端口 "analyzerPort": 9002,//视频分析服务端口 "videoAnalyzerPort": 9004, //启动工具端口 "mediaHttpPort": 9003, //流媒体服务器HTTP端口(如需修改,FaceMediaServer/config.ini的对应端口也要修改) "mediaRtspPort": 9554, //流媒体服务器RTSP端口(如需修改,FaceMediaServer/config.ini的对应端口也要修改) "mediaSecret": "aqxY9ps21fyhyKNRyYpGvJCTp1JBeGOM",//流媒体服务器安全码(如需修改,FaceMediaServer/config.ini的对应安全码也要修改) "uploadDir": "FaceRecognitionAdmin\\static\\upload", //后台管理上传算法,音频,报警视频等文件根目录(不能随意修改) "supportHardwareVideoDecode": false, //是否支持硬件解码(建议关闭硬件解码,将硬件资源留给算法) "supportHardwareVideoEncode": false //是否支持硬件编码(建议关闭硬件编码,将硬件资源留给算法) } ~~~ ### ffmpeg命令行推流 ~~~ //将本地文件推流至VideoAnalyzer(该命令行未经优化,延迟较大) ffmpeg -re -stream_loop -1 -i test.mp4 -rtsp_transport tcp -c copy -f rtsp rtsp://127.0.0.1:9554/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:9554/live/camera // 备注 根目录下data文件夹中,我提供了一个test.mp4,大家可以测试,模拟视频流 ~~~ ### 有关ffmpeg推流的几点补充说明 * 通过ffmpeg命令行实现的推流功能,延迟总是存在的,且无法解决。但基于ffmpeg开发库却可以彻底解决延迟推流的问题,可以参考我的视频:https://space.bilibili.com/487906612