仓库结构: edge/ 设备端(原根目录设备端代码整体移入) control/ 管理端(清理后) docs/ 文档(PRD 移入 design/) README.md 根导航(新增) 清理: - control/.brainstorm 临时草稿删除 - control 根级重复文档(API表/PRD_04)并入 docs/design/ - control/plan.md -> docs/implementation/control-plan.md - control/safesightd-linux-arm64 二进制取消版本控制(.gitignore) - edge/transform 模型转换产物归入 models/,onnx/pt 大源文件取消跟踪(.gitignore) - Readme.md(PRD) -> docs/design/PRD_Product_v1.2.md(避开 README 大小写冲突) 更新: - 根 README.md 导航、docs/README.md 文档索引 - deployment.md/检查表路径加 edge/ 前缀 - .gitignore 重写(edge/control 分区规则)
110 lines
2.6 KiB
JSON
110 lines
2.6 KiB
JSON
{
|
|
"queue": {
|
|
"size": 8,
|
|
"strategy": "drop_oldest"
|
|
},
|
|
"graphs": [
|
|
{
|
|
"name": "test_face_only",
|
|
"nodes": [
|
|
{
|
|
"id": "in_cam",
|
|
"type": "input_rtsp",
|
|
"role": "source",
|
|
"enable": true,
|
|
"url": "rtsp://10.0.0.49:8554/cam",
|
|
"fps": 30,
|
|
"width": 1280,
|
|
"height": 720,
|
|
"use_mpp": true,
|
|
"use_ffmpeg": false,
|
|
"force_tcp": true,
|
|
"reconnect_sec": 5,
|
|
"reconnect_backoff_max_sec": 30
|
|
},
|
|
{
|
|
"id": "pre",
|
|
"type": "preprocess",
|
|
"role": "filter",
|
|
"enable": true,
|
|
"dst_w": 1024,
|
|
"dst_h": 1024,
|
|
"dst_format": "rgb",
|
|
"dst_packed": true,
|
|
"resize_mode": "stretch",
|
|
"keep_ratio": false,
|
|
"use_rga": true
|
|
},
|
|
{
|
|
"id": "face_det",
|
|
"type": "ai_scrfd",
|
|
"role": "filter",
|
|
"enable": true,
|
|
"model_path": "./models/face_det_scrfd_500m_640_rk3588.rknn",
|
|
"conf_thresh": 0.05,
|
|
"nms_thresh": 0.4,
|
|
"max_faces": 5,
|
|
"output_landmarks": true,
|
|
"input_format": "rgb"
|
|
},
|
|
{
|
|
"id": "osd",
|
|
"type": "osd",
|
|
"role": "filter",
|
|
"enable": true,
|
|
"draw_bbox": false,
|
|
"draw_text": true,
|
|
"draw_face_det": true,
|
|
"draw_face_bbox": true,
|
|
"use_rga_bbox": false,
|
|
"line_width": 2,
|
|
"font_scale": 1,
|
|
"labels": []
|
|
},
|
|
{
|
|
"id": "post",
|
|
"type": "preprocess",
|
|
"role": "filter",
|
|
"enable": true,
|
|
"dst_w": 1280,
|
|
"dst_h": 720,
|
|
"dst_format": "nv12",
|
|
"resize_mode": "stretch",
|
|
"use_rga": true
|
|
},
|
|
{
|
|
"id": "pub",
|
|
"type": "publish",
|
|
"role": "sink",
|
|
"enable": true,
|
|
"codec": "h264",
|
|
"fps": 30,
|
|
"gop": 60,
|
|
"bitrate_kbps": 2000,
|
|
"use_mpp": true,
|
|
"use_ffmpeg_mux": true,
|
|
"outputs": [
|
|
{
|
|
"proto": "hls",
|
|
"path": "./web/hls/test_face/index.m3u8",
|
|
"segment_sec": 2
|
|
},
|
|
{
|
|
"proto": "rtsp_server",
|
|
"port": 8555,
|
|
"path": "/live/test_face"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"edges": [
|
|
["in_cam", "pre"],
|
|
["pre", "face_det"],
|
|
["face_det", "osd"],
|
|
["osd", "post"],
|
|
["post", "pub"]
|
|
]
|
|
}
|
|
]
|
|
}
|