- 创建基本项目结构和目录 - 添加CMake构建系统 - 实现基础的配置解析功能 - 添加YOLO推理框架支持 - 集成RTSP和视频流处理功能 - 添加性能监控和日志系统
134 lines
2.3 KiB
Markdown
134 lines
2.3 KiB
Markdown
# 构建指南
|
|
|
|
## 依赖项
|
|
|
|
### 必需依赖
|
|
- CMake (>= 3.10)
|
|
- OpenCV (>= 4.0)
|
|
- 需要包含 videoio 模块(用于 RTSP 流读取)
|
|
- 需要包含 imgproc 模块(用于图像处理)
|
|
- yaml-cpp (用于配置文件解析)
|
|
- GTest (用于单元测试)
|
|
- TensorRT (8.6)
|
|
### 可选依赖
|
|
- CUDA (用于 GPU 加速)
|
|
|
|
|
|
## 安装依赖
|
|
|
|
### Ubuntu/Debian
|
|
```bash
|
|
# 安装基本开发工具
|
|
sudo apt-get update
|
|
sudo apt-get install -y build-essential cmake git
|
|
|
|
# 安装 OpenCV
|
|
sudo apt-get install -y libopencv-dev
|
|
|
|
# 安装 yaml-cpp
|
|
sudo apt-get install -y libyaml-cpp-dev
|
|
|
|
# 安装 GTest
|
|
sudo apt-get install -y libgtest-dev
|
|
```
|
|
|
|
### CentOS/RHEL
|
|
```bash
|
|
# 安装基本开发工具
|
|
sudo yum groupinstall -y "Development Tools"
|
|
sudo yum install -y cmake git
|
|
|
|
# 安装 OpenCV
|
|
sudo yum install -y opencv-devel
|
|
|
|
# 安装 yaml-cpp
|
|
sudo yum install -y yaml-cpp-devel
|
|
|
|
# 安装 GTest
|
|
sudo yum install -y gtest-devel
|
|
```
|
|
|
|
## 构建步骤
|
|
|
|
1. 克隆仓库
|
|
```bash
|
|
git clone https://github.com/your-repo/trt_pipeline.git
|
|
cd trt_pipeline
|
|
```
|
|
|
|
2. 创建构建目录
|
|
```bash
|
|
mkdir build
|
|
cd build
|
|
```
|
|
|
|
3. 配置项目
|
|
```bash
|
|
cmake ..
|
|
```
|
|
|
|
4. 编译
|
|
```bash
|
|
make -j4
|
|
```
|
|
|
|
5. 运行测试
|
|
```bash
|
|
ctest -V
|
|
```
|
|
|
|
## 配置说明
|
|
|
|
1. 创建配置文件
|
|
```bash
|
|
cp config/config.yaml.example config/config.yaml
|
|
```
|
|
|
|
2. 编辑配置文件,设置 RTSP 参数:
|
|
```yaml
|
|
rtsp:
|
|
url: "rtsp://your-camera-url"
|
|
buffer_size: 30
|
|
max_retry_count: 3
|
|
retry_interval_ms: 1000
|
|
frame_timeout_ms: 5000
|
|
target_fps: 30.0
|
|
```
|
|
|
|
## 常见问题
|
|
|
|
### OpenCV 相关
|
|
|
|
1. 找不到 OpenCV
|
|
```
|
|
CMake Error: Could not find OpenCV
|
|
```
|
|
解决方案:确保已安装 OpenCV 开发包
|
|
|
|
2. RTSP 流无法打开
|
|
```
|
|
VIDEOIO ERROR: V4L: can't open camera by index {index}
|
|
```
|
|
解决方案:
|
|
- 检查 RTSP URL 是否正确
|
|
- 检查网络连接
|
|
- 确认 OpenCV 是否支持 FFMPEG 后端
|
|
```bash
|
|
# 检查 OpenCV 是否支持 FFMPEG
|
|
opencv_version -v
|
|
```
|
|
|
|
### 编译相关
|
|
|
|
1. 编译错误:找不到头文件
|
|
```
|
|
fatal error: opencv2/videoio.hpp: No such file or directory
|
|
```
|
|
解决方案:安装 OpenCV 开发包
|
|
|
|
2. 链接错误
|
|
```
|
|
undefined reference to `cv::VideoCapture::VideoCapture()'
|
|
```
|
|
解决方案:确保正确链接了 OpenCV 库
|