{ "queue": { "size": 8, "strategy": "drop_oldest" }, "graphs": [ { "name": "cam1_native_main", "nodes": [ { "id": "in_cam1", "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_cam1", "type": "preprocess", "role": "filter", "enable": true, "dst_w": 640, "dst_h": 640, "dst_format": "rgb", "dst_packed": true, "keep_ratio": false, "rga_gate": "cam1_native_main", "use_rga": true }, { "id": "yolo_cam1", "type": "ai_yolo", "role": "filter", "enable": true, "infer_fps": 10, "model_path": "./third_party/rknpu2/examples/rknn_yolov5_demo/model/RK3588/yolov5s-640-640.rknn", "model_version": "v5", "num_classes": 80, "conf": 0.25, "nms": 0.45, "class_filter": [] }, { "id": "trk_cam1", "type": "tracker", "role": "filter", "enable": true, "mode": "bytetrack_lite", "per_class": true, "track_classes": [0], "ignore_classes": [], "allowed_models": ["yolov5", "yolov8"], "high_th": 0.5, "low_th": 0.1, "iou_th": 0.3, "max_age_ms": 1500, "min_hits": 2, "max_tracks": 128, "debug": { "stats": false, "stats_interval": 200 } }, { "id": "osd_cam1", "type": "osd", "role": "filter", "enable": true, "draw_bbox": true, "draw_text": true, "draw_face_det": false, "line_width": 2, "font_scale": 1, "labels": [] }, { "id": "post_cam1", "type": "preprocess", "role": "filter", "enable": true, "dst_w": 1280, "dst_h": 720, "dst_format": "nv12", "keep_ratio": false, "rga_gate": "cam1_native_main", "use_rga": true }, { "id": "pub_cam1", "type": "publish", "role": "filter", "enable": true, "codec": "h264", "fps": 30, "gop": 60, "bitrate_kbps": 2000, "use_mpp": true, "use_ffmpeg_mux": true, "outputs": [ { "proto": "rtsp_server", "port": 8555, "path": "/live/cam1" }, { "proto": "hls", "path": "./web/hls/cam1/index.m3u8", "segment_sec": 2 } ] }, { "id": "alarm_cam1", "type": "alarm", "role": "sink", "enable": false, "eval_fps": 10, "labels": [], "rules": [ { "name": "person_in_view", "class_ids": [0], "roi": { "x": 0.0, "y": 0.0, "w": 1.0, "h": 1.0 }, "min_duration_ms": 0, "cooldown_ms": 3000 } ], "face_rules": [], "actions": { "log": { "enable": true, "level": "info" }, "snapshot": { "enable": false, "format": "jpg", "quality": 85, "upload": { "type": "minio", "endpoint": "http://10.0.0.49:9000", "bucket": "test", "region": "us-east-1", "access_key": "your-access-key", "secret_key": "your-secret-key" } }, "clip": { "enable": false, "pre_sec": 5, "post_sec": 10, "format": "mp4", "fps": 30, "upload": { "type": "minio", "endpoint": "http://10.0.0.49:9000", "bucket": "test", "region": "us-east-1", "access_key": "your-access-key", "secret_key": "your-secret-key" } }, "http": { "enable": false, "url": "http://127.0.0.1:8080/api/alarm", "timeout_ms": 3000, "include_media_url": true, "method": "POST" } } } ], "edges": [ ["in_cam1", "pre_cam1"], ["pre_cam1", "yolo_cam1"], ["yolo_cam1", "trk_cam1"], ["trk_cam1", "osd_cam1"], ["osd_cam1", "post_cam1"], ["post_cam1", "pub_cam1"], ["pub_cam1", "alarm_cam1"] ] }, { "name": "cam1_face_recog_rtsp", "nodes": [ { "id": "in_cam1", "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_cam1", "type": "preprocess", "role": "filter", "enable": true, "dst_w": 1280, "dst_h": 720, "dst_format": "rgb", "dst_packed": true, "keep_ratio": false, "rga_gate": "cam1_face_recog_rtsp", "use_rga": true }, { "id": "face_det_cam1", "type": "ai_scrfd", "role": "filter", "enable": true, "model_path": "./models/face_det_scrfd_500m_640_rk3588.rknn", "conf_thresh": 0.6, "nms_thresh": 0.4, "max_faces": 10, "output_landmarks": true, "input_format": "rgb" }, { "id": "face_recog_cam1", "type": "ai_face_recog", "role": "filter", "enable": true, "model_path": "./models/face_recog_mobilefacenet_arcface_112_rk3588.rknn", "align": true, "emit_embedding": false, "max_faces": 10, "input_format": "rgb", "input_dtype": "uint8", "threshold": { "accept": 0.45, "margin": 0.05 }, "gallery": { "backend": "sqlite", "path": "./models/face_gallery.db", "load_on_start": true, "dtype": "auto" } }, { "id": "osd_face_cam1", "type": "osd", "role": "filter", "enable": true, "draw_bbox": false, "draw_text": true, "draw_face_det": false, "draw_face_bbox": false, "line_width": 2, "font_scale": 1, "labels": [] }, { "id": "post_face_cam1", "type": "preprocess", "role": "filter", "enable": true, "dst_w": 1280, "dst_h": 720, "dst_format": "nv12", "keep_ratio": false, "rga_gate": "cam1_face_recog_rtsp", "use_rga": true }, { "id": "pub_face_cam1", "type": "publish", "role": "filter", "enable": true, "codec": "h264", "fps": 30, "gop": 60, "bitrate_kbps": 2000, "use_mpp": true, "use_ffmpeg_mux": true, "outputs": [ { "proto": "rtsp_server", "port": 8555, "path": "/live/cam1_face" }, { "proto": "hls", "path": "./web/hls/cam1_face/index.m3u8", "segment_sec": 2 } ] } ], "edges": [ ["in_cam1", "pre_cam1"], ["pre_cam1", "face_det_cam1"], ["face_det_cam1", "face_recog_cam1"], ["face_recog_cam1", "osd_face_cam1"], ["osd_face_cam1", "post_face_cam1"], ["post_face_cam1", "pub_face_cam1"] ] } ] }