|
@@ -1,7 +1,9 @@
|
|
|
#ifndef RECORDNODE_HPP__
|
|
|
#define RECORDNODE_HPP__
|
|
|
+
|
|
|
#include "nodes/base/base.hpp"
|
|
|
#include "opencv2/opencv.hpp"
|
|
|
+#include "opencv2/videoio.hpp"
|
|
|
|
|
|
// 日志库
|
|
|
#include "plog/Log.h"
|
|
@@ -14,7 +16,12 @@ class RecordNode : public BaseNode
|
|
|
{
|
|
|
public:
|
|
|
RecordNode() = delete;
|
|
|
- RecordNode(const std::string& name) : BaseNode(name, NODE_TYPE::DES_NODE) {}
|
|
|
+ RecordNode(const std::string& name, const std::string& gst_pipeline, int fps = 25)
|
|
|
+ : BaseNode(name, NODE_TYPE::DES_NODE)
|
|
|
+ {
|
|
|
+ fps_ = fps;
|
|
|
+ gst_pipeline_ = gst_pipeline;
|
|
|
+ }
|
|
|
virtual ~RecordNode()
|
|
|
{
|
|
|
stop();
|
|
@@ -25,15 +32,47 @@ public:
|
|
|
}
|
|
|
|
|
|
void handle_data(std::shared_ptr<meta::MetaData>& meta_data) override;
|
|
|
- void set_record_path(const std::string& path) { record_path_ = path; }
|
|
|
- void set_fps(int fps) { fps_ = fps; }
|
|
|
- void set_fourcc(int fourcc) { fourcc_ = fourcc; }
|
|
|
private:
|
|
|
- std::string record_path_;
|
|
|
- int fps_ = 25;
|
|
|
- int fourcc_ = cv::VideoWriter::fourcc('X', '2', '6', '4');
|
|
|
+ int fps_ = 35;
|
|
|
+ std::string gst_pipeline_;
|
|
|
cv::VideoWriter writer_;
|
|
|
};
|
|
|
-
|
|
|
+
|
|
|
}
|
|
|
-#endif // RECORDNODE_HPP__
|
|
|
+
|
|
|
+#endif // RTMPNODE_HPP__
|
|
|
+
|
|
|
+
|
|
|
+/*
|
|
|
+cmake -D CMAKE_BUILD_TYPE=RELEASE \
|
|
|
+-D BUILD_TESTS=OFF \
|
|
|
+-D BUILD_PERF_TESTS=OFF \
|
|
|
+-D BUILD_EXAMPLES=OFF \
|
|
|
+-D BUILD_opencv_apps=OFF \
|
|
|
+-D BUILD_PNG=ON \
|
|
|
+-D BUILD_JPEG=ON \
|
|
|
+-D BUILD_TIFF=ON \
|
|
|
+-D BUILD_WEBP=ON \
|
|
|
+-D OpenJPEG=ON \
|
|
|
+-D BUILD_OPENEXR=ON \
|
|
|
+-D OPENCV_GENERATE_PKGCONFIG=ON \
|
|
|
+-D OPENCV_EXTRA_MODULES_PATH=/workspace/compile/opencv490/opencv_contrib-4.9.0/modules \
|
|
|
+-D WITH_CUDA=OFF \
|
|
|
+-D WITH_CUDNN=OFF \
|
|
|
+-D BUILD_PROTOBUF=ON \
|
|
|
+-D OPENCV_DNN_CUDA=OFF \
|
|
|
+-D CUDA_FAST_MATH=OFF \
|
|
|
+-D WITH_CUBLAS=OFF \
|
|
|
+-D WITH_GSTREAMER=ON \
|
|
|
+-D WITH_FFMPEG=ON \
|
|
|
+-D WITH_QT=OFF \
|
|
|
+-D WITH_GTK=OFF \
|
|
|
+-D BUILD_JAVA=OFF \
|
|
|
+-D WITH_1394=OFF \
|
|
|
+-D CMAKE_INSTALL_PREFIX=/workspace/compile/__install/opencv490-gst ..
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+appsrc ! videoconvert ! video/x-raw,format=I420 ! x264enc speed-preset=ultrafast bitrate=600 key-int-max=50 ! video/x-h264,profile=baseline ! rtspclientsink location=rtsp://172.16.20.168:8554/mystream
|
|
|
+
|
|
|
+*/
|