From 109ffe9a777658936a38d0c146579a67c60a0d17 Mon Sep 17 00:00:00 2001
From: xuxiuxi <xuxiuxi@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期四, 11 五月 2017 17:48:48 +0800
Subject: [PATCH] 

---
 RtspFace/main.cpp |   61 ++++++++++++++++++++----------
 1 files changed, 40 insertions(+), 21 deletions(-)

diff --git a/RtspFace/main.cpp b/RtspFace/main.cpp
index 8d2d693..6e8260a 100644
--- a/RtspFace/main.cpp
+++ b/RtspFace/main.cpp
@@ -14,10 +14,13 @@
 #include "PL_DlibFaceTrack.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,6 +28,7 @@
 	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);
@@ -46,7 +50,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 +60,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,23 +70,35 @@
 		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;
-	//	PL_Scale* ple = (PL_Scale*)pipeLine.push_elem("PL_Scale");
-	//	bool ret = ple->init(&config);
-	//	if (!ret)
-	//	{
-	//		LOG_ERROR << "PL_Scale.init error";
-	//		exit(EXIT_FAILURE);
-	//	}
-	//}
+	{
+		PL_Scale_Config config;
+		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" << std::endl;
+			exit(EXIT_FAILURE);
+		}
+	}
+	
+	{
+		PL_AVFrameBGRA_Config config;
+		config.convertTo = PL_AVFrameBGRA_Config::I420_TO_RGBA8888;
+		PL_AVFrameBGRA* ple = (PL_AVFrameBGRA*)pipeLine.push_elem("PL_AVFrameBGRA");
+		bool ret = ple->init(&config);
+		if (!ret)
+		{
+			LOG_ERROR << "PL_AVFrameBGRA.init error" << std::endl;
+			exit(EXIT_FAILURE);
+		}
+	}
 
 	//{
 	//	SensetimeFaceTrackConfig config;
@@ -119,18 +135,21 @@
 	//	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);
 	//	}
 	//}
@@ -140,15 +159,15 @@
 	//	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