Skip to content

Xử lý sự cố

fatal error: cvedix/... No such file or directory

Include path chưa trỏ tới SDK:

cmake
target_include_directories(my_app PRIVATE ${CVEDIX_SDK_DIR}/include)

undefined reference to cvedix_nodes::...

Chưa link cvedix_core hoặc thiếu link directory:

cmake
target_link_directories(my_app PRIVATE ${CVEDIX_SDK_DIR}/lib/x86_64)
target_link_libraries(my_app PRIVATE cvedix_core)

Lỗi runtime

error while loading shared libraries: libcvedix_core.so

bash
export LD_LIBRARY_PATH=$CVEDIX_SDK_DIR/lib/x86_64:$LD_LIBRARY_PATH

libopencv_imgproc.so.409 => not found

Plugin được build với OpenCV 4.9 nhưng máy có version khác. Kiểm tra:

bash
ldd $CVEDIX_SDK_DIR/lib/x86_64/libtrt_yolov11.so | grep opencv

Giải pháp: cài đúng OpenCV version, hoặc tạo symlink shim tạm:

bash
mkdir -p /tmp/opencv-shim
for lib in /usr/local/lib/libopencv_*.so.4*; do
    base=$(basename "$lib" | sed 's/\.so\..*/\.so.409/')
    ln -sf "$lib" "/tmp/opencv-shim/$base"
done
export LD_LIBRARY_PATH=/tmp/opencv-shim:$LD_LIBRARY_PATH

incompatible serialization version (TensorRT)

File .engine được build bằng TensorRT version khác. Build lại engine trên máy đang chạy:

bash
/usr/src/tensorrt/bin/trtexec --onnx=model.onnx --saveEngine=model.engine --fp16

Kết quả hiện class_0, class_1 thay vì tên class

Thiếu hoặc sai file labels.txt. Kiểm tra log lúc khởi động:

[det] Loaded 80 labels from labels.txt   ← phải có dòng này

queue full, dropped N meta

Node phía sau xử lý chậm hơn node phía trước — không phải bug, là backpressure:

  • Realtime: node->set_max_in_queue_size(1) để luôn xử lý frame mới nhất.
  • Cần đủ frame: giảm FPS nguồn (skip_interval ở source) hoặc giảm resolution (resize ratio).

Detector chọn nhầm backend

BackendType::AUTO ưu tiên TensorRT nếu phát hiện GPU. Muốn ép ONNX:

cpp
cvedix_nodes::BackendType::ONNX   // tham số cuối của yolo_detector_node

RTSP không kết nối được

bash
# Test bằng GStreamer trước
gst-launch-1.0 rtspsrc location=rtsp://user:pass@ip/stream ! fakesink

Kiểm tra firewall, credentials, và codec (H.264/H.265).

Debug tổng quát

bash
# Xem toàn bộ dependency của executable
ldd ./my_app | grep "not found"

# Tăng log level trong code
CVEDIX_SET_LOG_LEVEL(cvedix_utils::cvedix_log_level::DEBUG);

Vẫn kẹt? Xem FAQ hoặc liên hệ team CVEDIX.

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