From 663104b9be90ed303b87c8acddac8421583a9e39 Mon Sep 17 00:00:00 2001
From: houxiao <houxiao@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期三, 16 八月 2017 12:38:59 +0800
Subject: [PATCH] aaaaa
---
RtspFace/main.cpp | 83 ++++++++++++++++++++++++++++-------------
1 files changed, 57 insertions(+), 26 deletions(-)
diff --git a/RtspFace/main.cpp b/RtspFace/main.cpp
index f900b8e..fb9079a 100644
--- a/RtspFace/main.cpp
+++ b/RtspFace/main.cpp
@@ -12,12 +12,16 @@
#include "PL_SensetimeFaceTrack.h"
#include "PL_DlibFaceTrack.h"
+#include "PL_OpenCV_HOG_SVM_Detector.h"
#include "logger.h"
+#include <iostream>
+
+Logger g_logger(std::cout);
int main(int argc, char** argv)
{
- initLogger(LV_DEBUG);
+ g_logger.set_level(VERBOSE);
PipeLine pipeLine;
@@ -25,14 +29,16 @@
PipeLine::register_global_elem_creator("PL_RTSPServer", create_PL_RTSPServer);
PipeLine::register_global_elem_creator("PL_H264Decoder", create_PL_H264Decoder);
PipeLine::register_global_elem_creator("PL_AVFrameYUV420", create_PL_AVFrameYUV420);
+ PipeLine::register_global_elem_creator("PL_AVFrameBGRA", create_PL_AVFrameBGRA);
PipeLine::register_global_elem_creator("PL_H264Encoder", create_PL_H264Encoder);
PipeLine::register_global_elem_creator("PL_Queue", create_PL_Queue);
PipeLine::register_global_elem_creator("PL_Scale", create_PL_Scale);
PipeLine::register_global_elem_creator("PL_Fork", create_PL_Scale);
- pipeLine.register_elem_creator("PL_SensetimeFaceTrack", create_PL_SensetimeFaceTrack);
+ //pipeLineDecoderDetector.register_elem_creator("PL_SensetimeFaceTrack", create_PL_SensetimeFaceTrack);
- pipeLine.register_elem_creator("PL_DlibFaceTrack", create_PL_DlibFaceTrack);
+ //pipeLineDecoderDetector.register_elem_creator("PL_DlibFaceTrack", create_PL_DlibFaceTrack);
+ pipeLine.register_elem_creator("PL_OpenCV_HOG_SVM_Detector", create_PL_OpenCV_HOG_SVM_Detector);
{
PL_RTSPClient* rtspClient = (PL_RTSPClient*)pipeLine.push_elem("PL_RTSPClient");
@@ -46,7 +52,7 @@
bool ret = rtspClient->init(&rtspConfig);
if (!ret)
{
- LOG_ERROR << "rtspClient.init error";
+ LOG_ERROR << "rtspClient.init error" << std::endl;
exit(EXIT_FAILURE);
}
}
@@ -56,7 +62,7 @@
bool ret = h264Decoder->init(nullptr);
if (!ret)
{
- LOG_ERROR << "PL_H264Decoder.init error";
+ LOG_ERROR << "PL_H264Decoder.init error" << std::endl;
exit(EXIT_FAILURE);
}
}
@@ -66,42 +72,64 @@
bool ret = avFrameYUV420->init(nullptr);
if (!ret)
{
- LOG_ERROR << "PL_AVFrameYUV420.init error";
+ LOG_ERROR << "PL_AVFrameYUV420.init error" << std::endl;
exit(EXIT_FAILURE);
}
}
{
PL_Scale_Config config;
- config.toWidth = 800;
- config.toHeight = 600;
+ config.toWidth = 480;
+ config.toHeight = 360;
PL_Scale* ple = (PL_Scale*)pipeLine.push_elem("PL_Scale");
bool ret = ple->init(&config);
if (!ret)
{
- LOG_ERROR << "PL_Scale.init error";
+ LOG_ERROR << "PL_Scale.init error" << std::endl;
exit(EXIT_FAILURE);
}
}
-
+
{
- SensetimeFaceTrackConfig config;
- //config.generate_face_feature = true;
- PL_SensetimeFaceTrack* ple = (PL_SensetimeFaceTrack*)pipeLine.push_elem("PL_SensetimeFaceTrack");
- ple->init(&config);
+ PL_OpenCV_HOG_SVM_Detector* openCV_HOG_SVM_Detector = (PL_OpenCV_HOG_SVM_Detector*)pipeLine.push_elem("PL_OpenCV_HOG_SVM_Detector");
+ bool ret = openCV_HOG_SVM_Detector->init(nullptr);
+ if (!ret)
+ {
+ LOG_ERROR << "PL_OpenCV_HOG_SVM_Detector.init error" << std::endl;
+ exit(EXIT_FAILURE);
+ }
}
- //PipeLine pipeLine2;
+ //{
+ // PL_AVFrameBGRA_Config config;
+ // config.convertTo = PL_AVFrameBGRA_Config::I420_TO_RGBA8888;
+ // PL_AVFrameBGRA* ple = (PL_AVFrameBGRA*)pipeLineDecoderDetector.push_elem("PL_AVFrameBGRA");
+ // bool ret = ple->init(&config);
+ // if (!ret)
+ // {
+ // LOG_ERROR << "PL_AVFrameBGRA.init error" << std::endl;
+ // exit(EXIT_FAILURE);
+ // }
+ //}
+
+ //{
+ // SensetimeFaceTrackConfig config;
+ // //config.generate_face_feature = true;
+ // PL_SensetimeFaceTrack* ple = (PL_SensetimeFaceTrack*)pipeLineDecoderDetector.push_elem("PL_SensetimeFaceTrack");
+ // ple->init(&config);
+ //}
+
+ //PipeLine pipeLineAnalizor;
//{
// PL_Fork_Config config;
// config.forkBy = PL_Fork::FB_MB_TYPE;
// config.forkSync = PL_Fork::FS_PARALLEL;
- // PL_Fork* ple = (PL_Fork*)pipeLine.push_elem("PL_Fork");
+ // PL_Fork* ple = (PL_Fork*)pipeLineDecoderDetector.push_elem("PL_Fork");
// ple->init(&config);
- // ple->attach_pipe_line(&pipeLine2);
+ // ple->attach_pipe_line(&pipeLineAnalizor);
//
// {
- // //pipeLine2.push_elem();
+ // //pipeLineAnalizor.push_elem();
// }
//}
@@ -109,46 +137,49 @@
// PL_DlibFaceTrack_Config config;
// config.pyramid_down_layers = 2;
// config.pyramid_down_n = 1;
- // PL_DlibFaceTrack* ple = (PL_DlibFaceTrack*)pipeLine.push_elem("PL_DlibFaceTrack");
+ // PL_DlibFaceTrack* ple = (PL_DlibFaceTrack*)pipeLineDecoderDetector.push_elem("PL_DlibFaceTrack");
// ple->init(&config);
//}
//{//#todo queue should support deep copy
// PL_Queue_Config config;
- // PL_Queue* queue1 = (PL_Queue*)pipeLine.push_elem("PL_Queue");
+ // PL_Queue* queue1 = (PL_Queue*)pipeLineDecoderDetector.push_elem("PL_Queue");
// bool ret = queue1->init(&config);
// if (!ret)
// {
- // LOG_ERROR << "queue1.init error";
+ // LOG_ERROR << "queue1.init error" << std::endl;
// exit(EXIT_FAILURE);
// }
//}
{
PL_H264Encoder_Config config;
+ config.av_opt_preset = "superfast";
+ config.av_opt_tune = "zerolatency";
+ config.avc_profile_str = "baseline";
PL_H264Encoder* h264Encoder = (PL_H264Encoder*)pipeLine.push_elem("PL_H264Encoder");
bool ret = h264Encoder->init(&config);
if (!ret)
{
- LOG_ERROR << "PL_H264Encoder.init error";
+ LOG_ERROR << "PL_H264Encoder.init error" << std::endl;
exit(EXIT_FAILURE);
}
}
-
+
{
PL_RTSPServer* rtspServer = (PL_RTSPServer*)pipeLine.push_elem("PL_RTSPServer");
bool ret = rtspServer->init(nullptr);
if (!ret)
{
- LOG_ERROR << "rtspServer.init error";
+ LOG_ERROR << "rtspServer.init error" << std::endl;
exit(EXIT_FAILURE);
}
}
while(true)
{
- //LOG_ERROR << "begin pipe";
+ //LOG_ERROR << "begin pipe" << std::endl;
pipeLine.pipe();
- //LOG_ERROR << "end pipe";
+ //LOG_ERROR << "end pipe" << std::endl;
}
}
--
Gitblit v1.8.0