Skip to content

Destination Nodes

Node đầu ra — hiển thị hoặc ghi kết quả.

NodeMô tả
cvedix_screen_des_nodeHiển thị cửa sổ (X11/Wayland)
cvedix_web_debug_des_nodeXem qua trình duyệt (HTTP MJPEG)
cvedix_file_des_nodeGhi file video
cvedix_rtmp_des_nodeĐẩy lên RTMP server
cvedix_rtsp_des_nodePhát RTSP server
cvedix_app_des_nodeCallback về ứng dụng (nhận cv::Mat + targets)
cvedix_fake_des_nodeKhông xuất gì (benchmark)

Screen

cpp
auto screen = std::make_shared<cvedix_nodes::cvedix_screen_des_node>(
    "screen", 0);   // channel index
screen->attach_to({osd});

Web Debug (xem qua browser)

cpp
auto web = std::make_shared<cvedix_nodes::cvedix_web_debug_des_node>(
    "web", 0, 9091);   // port
web->attach_to({osd});
// Mở http://<ip>:9091 để xem

Phù hợp server headless không có màn hình.

File

cpp
auto file_out = std::make_shared<cvedix_nodes::cvedix_file_des_node>(
    "file_out", 0, "./output");   // thư mục output
file_out->attach_to({osd});

RTSP (phát lại stream)

cpp
auto rtsp_out = std::make_shared<cvedix_nodes::cvedix_rtsp_des_node>(
    "rtsp_out", 0, 8554, "/result");
rtsp_out->attach_to({osd});
// Xem bằng: ffplay rtsp://<ip>:8554/result

App Destination (callback)

Nhận kết quả trực tiếp trong code — nền tảng của C API bindings:

cpp
auto app_des = std::make_shared<cvedix_nodes::cvedix_app_des_node>("app_des", 0);
app_des->attach_to({tracker});

app_des->set_frame_meta_hooker([](std::shared_ptr<cvedix_objects::cvedix_meta> meta) {
    auto frame_meta = std::dynamic_pointer_cast<cvedix_objects::cvedix_frame_meta>(meta);
    if (!frame_meta) return;
    for (auto& t : frame_meta->targets) {
        printf("[%s] score=%.2f track=%d\n",
               t->primary_label.c_str(), t->primary_score, t->track_id);
    }
});

Phần mềm độc quyền — CVEDIX