rtsp_tensorrt/pipeline/common/yaml_config_parser.hpp
sladro e13cb3659c feat: 初始化项目结构
- 创建基本项目结构和目录
- 添加CMake构建系统
- 实现基础的配置解析功能
- 添加YOLO推理框架支持
- 集成RTSP和视频流处理功能
- 添加性能监控和日志系统
2024-12-24 16:25:03 +08:00

37 lines
1.0 KiB
C++

#pragma once
#include <string>
#include <memory>
#include <iostream>
#include <yaml-cpp/yaml.h>
#include "../input/rtsp_reader.hpp"
#include "config_parser.hpp"
namespace pipeline {
class YamlConfigParser : public ConfigParser {
public:
YamlConfigParser() = default;
~YamlConfigParser() override = default;
bool parse(const std::string& config_file);
bool validate() override;
const PipelineConfig& getConfig() const override { return config_; }
// 配置解析函数
bool parseInputConfig(const YAML::Node& node);
bool parseModelConfig(const YAML::Node& node);
bool parseRenderConfig(const YAML::Node& node);
bool parseOutputConfig(const YAML::Node& node);
bool parseLogConfig(const YAML::Node& node);
bool parseRtspConfig(const YAML::Node& config, RtspReader::Config& rtsp_config);
// 获取原始配置
const YAML::Node& getYamlConfig() const { return yaml_config_; }
private:
PipelineConfig config_;
YAML::Node yaml_config_;
};
} // namespace pipeline