Procházet zdrojové kódy

!10697 修改摄像头曝光服务端地址&解决摄像头故障时视频流传输存在重复报错问题
Merge pull request !10697 from 80274480/fixbug_base_ST2

杨诗友80174847 před 6 měsíci
rodič
revize
78ee126523

+ 14 - 2
Module/mod_livenessdetection/RvcWsServer.cpp

@@ -181,10 +181,16 @@ namespace LivenessDetection {
 			}
 			else {
 				if (ePreview_Type == eType) {
-					DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setResultCode("RTA3E06")("视频流传输获取预览图像失败");
+					if (false == webserver->m_preview_error_log) {
+						DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setResultCode("RTA3E06")("视频流传输获取预览图像失败");
+						webserver->m_preview_error_log = true;
+					}
 				}
 				else {
-					DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setResultCode("RTA3E07")("视频流传输获取抓拍图像失败");
+					if (false == webserver->m_capture_error_log) {
+						DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setResultCode("RTA3E07")("视频流传输获取抓拍图像失败");
+						webserver->m_capture_error_log = true;
+					}
 				}
 			}
 		}
@@ -261,6 +267,8 @@ namespace LivenessDetection {
 		m_ucapbuffer_size = 0;
 		m_ecameraid = eCamera_Env;
 		m_lstarttime = 0;
+		m_preview_error_log = false;
+		m_capture_error_log = false;
 	}
 
 
@@ -287,6 +295,8 @@ namespace LivenessDetection {
 			m_capbuffer = NULL;
 		}
 		m_ucapbuffer_size = 0;
+		m_preview_error_log = false;
+		m_capture_error_log = false;
 	}
 
 
@@ -428,6 +438,8 @@ namespace LivenessDetection {
 			}
 		}
 		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_USER).setLogCode("QLR0402314L6")("断开流媒体传输连接");
+		m_preview_error_log = false;
+		m_capture_error_log = false;
 	}
 
 

+ 4 - 2
Module/mod_livenessdetection/RvcWsServer.h

@@ -130,10 +130,12 @@ namespace LivenessDetection{
 		int m_cameraid;
 		int m_fps;
 		unsigned char* m_buffer;
-		size_t m_ubuffer_size;
+		uint32_t m_ubuffer_size;
 		unsigned char* m_capbuffer;
-		size_t m_ucapbuffer_size;
+		uint32_t m_ucapbuffer_size;
 		unsigned int m_utranstime;
+		bool m_preview_error_log;
+		bool m_capture_error_log;
 
 	private:
 		int m_listenport;				  // websocket server监听端口

+ 0 - 3
Module/mod_livenessdetection/mod_livenessdetection.cpp

@@ -369,9 +369,6 @@ int CLivenessDetectionEntity::on_get_videodata(eVideoType eType, eCameraType eca
 			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("get video frame from queue failed, and picture data length is %d.", idatalen);
 		}
 	}
-	else{
-		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("get video frame size failed, and picture data length is %d.", idatalen);
-	}
 
 	return idatalen;
 }

+ 2 - 2
Module/mod_mediacontroller/brightnessinfo.cpp

@@ -60,8 +60,8 @@ int post_camera_brightness_info_list(unsigned int& uposttime, CSimpleStringA& er
 
 	BrightnessInfoHTTPRet ret;
 	if (client->Post(req, ret)) {
-		//DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("post result is %s, returnCode:%s, code:%s, errorMsg:%s, message:%s.",
-		//	ret.m_success ? "success" : "failed", ret.m_returnCode.c_str(), ret.m_code.c_str(), ret.m_errorMsg.c_str(), ret.m_message.c_str());
+		//DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("url:%s, post result is %s, returnCode:%s, code:%s, errorMsg:%s, message:%s.",
+		//	ret.m_success ? "success" : "failed", req.m_url.c_str(), ret.m_returnCode.c_str(), ret.m_code.c_str(), ret.m_errorMsg.c_str(), ret.m_message.c_str());
 		uposttime = SP::Module::Comm::RVCGetTickCount() - ustarttime;
 		iret = 0;
 	}

+ 2 - 23
Module/mod_mediacontroller/brightnessinfo.h

@@ -5,32 +5,12 @@
 #include "json/json.h"
 #include "SpBase.h"
 
-#ifdef DEVOPS_ON_ST /*DevOps流水线编译,ST环境*/
-#ifndef RVC_UPDATE_CAMERABRIGHNESS_HTTP_URL
-#define RVC_UPDATE_CAMERABRIGHNESS_HTTP_URL "https://accessproxy-service.paasst.cmbchina.cn"
-#endif // !RVC_UPDATE_CAMERABRIGHNESS_HTTP_URL
-#elif defined(DEVOPS_ON_PRD)/*DevOps流水线编译,PRD环境*/
-#ifndef RVC_UPDATE_CAMERABRIGHNESS_HTTP_URL
-#define RVC_UPDATE_CAMERABRIGHNESS_HTTP_URL "https://accessproxy-service.paas.cmbchina.cn"
-#endif // !RVC_UPDATE_CAMERABRIGHNESS_HTTP_URL
-#elif defined(DEVOPS_ON_UAT)/*DevOps流水线编译,UAT环境*/
-#ifndef RVC_UPDATE_CAMERABRIGHNESS_HTTP_URL
-#define RVC_UPDATE_CAMERABRIGHNESS_HTTP_URL "https://accessproxy-service.paasuat.cmbchina.cn"
-#endif // !RVC_UPDATE_CAMERABRIGHNESS_HTTP_URL
-#elif defined(DEVOPS_ON_DEV)/*DevOps流水线编译,Dev环境*/
-#ifndef RVC_UPDATE_CAMERABRIGHNESS_HTTP_URL
-#define RVC_UPDATE_CAMERABRIGHNESS_HTTP_URL "https://accessproxy-service.paas.cmbchina.cn"
-#endif // !RVC_UPDATE_CAMERABRIGHNESS_HTTP_URL
-#else/*本地编译等非DevOps环境编译的版本*/
-#ifndef RVC_UPDATE_CAMERABRIGHNESS_HTTP_URL
-#define RVC_UPDATE_CAMERABRIGHNESS_HTTP_URL "https://accessproxy-service.paasst.cmbchina.cn"
-#endif // !RVC_UPDATE_CAMERABRIGHNESS_HTTP_URL
-#endif
 
 #ifndef RVC_UPDATE_CAMERABRIGHNESS_HTTP_API
-#define RVC_UPDATE_CAMERABRIGHNESS_HTTP_API "/centerconfignoauth/api/unify/config/alter/exposure"
+#define RVC_UPDATE_CAMERABRIGHNESS_HTTP_API "/api/unify/config/alter/exposure"
 #endif // !RVC_UPDATE_CAMERABRIGHNESS_HTTP_API
 
+
 #ifndef RVC_HTTPTIMEOUT
 #define RVC_HTTPTIMEOUT 20
 #endif // !RVC_HTTPTIMEOUT
@@ -94,7 +74,6 @@ struct BrightnessInfoHTTPRet : CHTTPRet {
 	}
 };
 
-
 int post_camera_brightness_info_list(unsigned int& uposttime, CSimpleStringA& errormsg, brightness_info_t* pinfo, int itimeout, bool bprintdbg);
 
 #endif

+ 17 - 11
Module/mod_mediacontroller/capture.cpp

@@ -32,6 +32,7 @@ using namespace MediaController;
 #define RVC_AUDIO_BUFFER_LEN 320
 #endif
 
+#ifdef RVC_OS_WIN
 static void __dbg(const char *fmt, va_list arg)
 {
 	int n = vsnprintf(NULL, 0, fmt, arg);
@@ -47,6 +48,7 @@ static void __dbg(const char *fmt, va_list arg)
 		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("%s", strlog);
 	}
 }
+#endif
 
 
 static void __logevent(int ilogtype, int idevid, const char* strmessage)
@@ -841,8 +843,8 @@ static void env_cap_on_frame(void *user_data, video_frame *frame)
 	if (video_cap->bsavephoto) {
 		if ((video_cap->isaveinterval > 0) && (0 == video_cap->frame_id % (video_cap->isaveinterval * cap->config.video_env_fps)))
 		{
-			char strFileName[2 * MAX_PATH] = { 0 };
-			snprintf(strFileName, 2 * MAX_PATH, "%s%s_%d.bmp", video_cap->strsavedir, video_cap->strphotoname, isnapshot_count++);
+			char strFileName[3 * MAX_PATH] = { 0 };
+			snprintf(strFileName, 3 * MAX_PATH, "%s%s_%d%s", video_cap->strsavedir, video_cap->strphotoname, isnapshot_count++, ".bmp");
 			video_frame_save_bmpfile(strFileName, frame);
 		}
 	}
@@ -1195,6 +1197,8 @@ static void video_capture_destroy(video_capture_t *video_cap)
 }
 
 
+#ifdef RVC_OS_WIN
+#else
 static int get_video_capture_fps(int icapfps)
 {
 	int ifps = REC_COMMON_VIDEO_RAW_FPS;
@@ -1205,6 +1209,8 @@ static int get_video_capture_fps(int icapfps)
 
 	return ifps;
 }
+#endif
+
 
 #ifdef RVC_OS_WIN
 static int video_capture_start_win(video_capture_t* video_cap)
@@ -1579,9 +1585,9 @@ namespace MediaController {
 					if (rc != Error_Succeed) 
 					{
 						cap->opt_video->ustarttime = 0;
-						char strMessage[MAX_PATH*2] = {0};
-						get_camera_exception_message(strMessage, MAX_PATH*2, cap->config.strVideoOpt, "open operate camera fail, please check device.");
-						LogWarn(Severity_Middle,Error_NotInit,ERROR_MOD_MEDIACONTROLLER_OPTCAM_OPEN, strMessage);
+						char stroptMessage[MAX_PATH*2] = {0};
+						get_camera_exception_message(stroptMessage, MAX_PATH*2, cap->config.strVideoOpt, "open operate camera fail, please check device.");
+						LogWarn(Severity_Middle,Error_NotInit,ERROR_MOD_MEDIACONTROLLER_OPTCAM_OPEN, stroptMessage);
 						return Error_AllCamera;
 					}
 					else
@@ -1611,9 +1617,9 @@ namespace MediaController {
 					if (rc != Error_Succeed) 
 					{
 						cap->opt_video->ustarttime = 0;
-						char strMessage[MAX_PATH*2] = {0};
-						get_camera_exception_message(strMessage, MAX_PATH*2, cap->config.strVideoOpt, "open operate camera fail, please check device.");
-						LogWarn(Severity_Middle,Error_NotInit,ERROR_MOD_MEDIACONTROLLER_OPTCAM_OPEN,strMessage);
+						char strMsg[MAX_PATH*2] = {0};
+						get_camera_exception_message(strMsg, MAX_PATH*2, cap->config.strVideoOpt, "open operate camera fail, please check device.");
+						LogWarn(Severity_Middle,Error_NotInit,ERROR_MOD_MEDIACONTROLLER_OPTCAM_OPEN, strMsg);
 						return Error_OptCamera;
 					}
 					else
@@ -1641,9 +1647,9 @@ namespace MediaController {
 				if (rc != Error_Succeed) 
 				{
 					cap->opt_video->ustarttime = 0;
-					char strMessage[MAX_PATH*2] = {0};
-					get_camera_exception_message(strMessage, MAX_PATH*2, cap->config.strVideoOpt, "open operate camera fail,please check device.");
-					LogWarn(Severity_Middle,Error_NotInit,ERROR_MOD_MEDIACONTROLLER_OPTCAM_OPEN,strMessage);
+					char stroptMsg[MAX_PATH*2] = {0};
+					get_camera_exception_message(stroptMsg, MAX_PATH*2, cap->config.strVideoOpt, "open operate camera fail, please check device.");
+					LogWarn(Severity_Middle,Error_NotInit,ERROR_MOD_MEDIACONTROLLER_OPTCAM_OPEN, stroptMsg);
 					return Error_AllCamera;
 				}
 				else

+ 5 - 6
Module/mod_mediacontroller/mod_mediacontroller.cpp

@@ -5,6 +5,7 @@
 #include "CommEntityUtil.hpp"
 #include "fileutil.h"
 #include "brightnessinfo.h"
+#include "SpDefine.h"
 
 #ifdef RVC_OS_WIN
 #include "iaudiorenderinterface.h"
@@ -153,7 +154,7 @@ CMediaControllerEntity::CMediaControllerEntity(): m_capture(NULL), m_salesaudio_
 #endif
 #endif
 
-	m_strHttpServerAddr = RVC_UPDATE_CAMERABRIGHNESS_HTTP_URL;
+	m_strHttpServerAddr = SpDefine::CenterConfigTotal;
 	m_strHttpServerAPI = RVC_UPDATE_CAMERABRIGHNESS_HTTP_API;
 	m_iHttpTimeOut = RVC_HTTPTIMEOUT;
 	m_strAppVersion = NULL;
@@ -1069,7 +1070,6 @@ ErrorCodeEnum CMediaControllerEntity::StartAllCameras(bool bstartaudio)
 				m_bCameraOffTimerOn = false;
 			}
 		}
-		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("camera is already on.");
 	}
 
 	return Error;
@@ -1562,9 +1562,6 @@ void CMediaControllerEntity::OnLog( const CAutoArray<CUUID> &SubIDs, const CUUID
 		if (m_bStartCamera) {
 			DelayCloseCameras();
 		}
-		else {
-			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("end handle business, and camera is not on.");
-		}
 		m_bOnBusiness = false;
 		break;
 
@@ -2320,7 +2317,9 @@ ErrorCodeEnum CMediaControllerEntity::PostCameraBrightnessInfos(int iBrightness)
 	unsigned int uposttime = 0;
 	CSimpleStringA strErrorMsg("");
 	if (0 == post_camera_brightness_info_list(uposttime, strErrorMsg, &camera_brightness_params, m_iHttpTimeOut, false)) {
-		LogWarn(Severity_Low, Error_Debug, LOG_EVT_POST_CAMERA_BRIGHTNESSINFO_COST_TIME, CSimpleStringA::Format("post camera brightness infos cost time is %ums.", uposttime).GetData());
+		if (500 < uposttime) {
+			LogWarn(Severity_Low, Error_Debug, LOG_EVT_POST_CAMERA_BRIGHTNESSINFO_COST_TIME, CSimpleStringA::Format("post camera brightness infos cost time is %ums.", uposttime).GetData());
+		}
 		Error = Error_Succeed;
 	}
 	else {