@@ -4,6 +4,9 @@
int main()
{
std::shared_ptr<Node::BaseNode> src_node = std::make_shared<Node::StreamNode>("src", "rtsp://admin:lww123456@172.16.22.16:554/Streaming/Channels/101");
+ src_node->set_skip_frame(10);
+
std::shared_ptr<Node::BaseNode> infer_node = std::make_shared<Node::InferNode>("infer");
Node::LinkNode(src_node, infer_node);
infer_node->start();
@@ -17,6 +17,12 @@ void StreamNode::work()
cv::Mat frame;
cap >> frame;
+ frame_count_++;
+ if (frame_count_ % skip_frame_ != 0)
+ {
+ printf("Skip frame %d\n", frame_count_);
+ continue;
+ }
printf("%dx%d\n", frame.cols, frame.rows);
if (frame.empty())
@@ -22,6 +22,10 @@ public:
void set_skip_frame(int skip_frame)
+ if (skip_frame < 1)
+ skip_frame = 1;
skip_frame_ = skip_frame;
}
@@ -29,7 +33,8 @@ public:
private:
std::string stream_url_;
- int skip_frame_ = 0;
+ int skip_frame_ = 1;
+ int frame_count_ = 0;
};