main.cpp 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #include "nodes/base/base.hpp"
  2. #include "nodes/stream/streamNode.hpp"
  3. #include "nodes/infer/inferNode.hpp"
  4. #include "nodes/draw/drawNode.hpp"
  5. #include "nodes/httpPush/httpPush.hpp"
  6. int main()
  7. {
  8. std::shared_ptr<Node::StreamNode> src_node = std::make_shared<Node::StreamNode>("src", "rtsp://admin:lww123456@172.16.22.16:554/Streaming/Channels/101");
  9. src_node->set_skip_frame(10);
  10. std::shared_ptr<Node::StreamNode> src_node1 = std::make_shared<Node::StreamNode>("src", "rtsp://admin:lww123456@172.16.22.16:554/Streaming/Channels/201");
  11. src_node1->set_skip_frame(10);
  12. std::shared_ptr<Node::InferNode> infer_node = std::make_shared<Node::InferNode>("infer");
  13. std::shared_ptr<Node::DrawNode> draw_node = std::make_shared<Node::DrawNode>("draw");
  14. std::shared_ptr<Node::HttpPushNode> push_node = std::make_shared<Node::HttpPushNode>("push", "172.16.20.168", 8080, "/push");
  15. Node::LinkNode(src_node, infer_node);
  16. Node::LinkNode(src_node1, infer_node);
  17. Node::LinkNode(infer_node, draw_node);
  18. Node::LinkNode(draw_node, push_node);
  19. push_node->start();
  20. draw_node->start();
  21. infer_node->start();
  22. src_node->start();
  23. src_node1->start();
  24. getchar();
  25. return 0;
  26. }
  27. // TODO:创建pipeline类,能够打印pipeline的结构、状态、启动、停止、重启、添加节点、删除节点、连接节点、断开节点
  28. // TODO: 硬解码
  29. // TODO: 模型多路复用
  30. // TODO: 通过配置文件创建 pipeline
  31. // TODO: 多种推理框架支持 opencv tensorrt onnxruntime ...
  32. // TODO:日志系统
  33. // TODO: 结果推送接口 http mqtt ...