From 979bc003bce710bf300bc2bd87a8278585678763 Mon Sep 17 00:00:00 2001 From: pansen <pansen626@sina.com> Date: 星期四, 07 三月 2019 14:47:14 +0800 Subject: [PATCH] GB28181集成完成。录像bug暂未解决,已注释 --- QiaoJiaSystem/VideoToImageMulth/main.cpp | 127 +++++++++++++++++++++++++++--------------- 1 files changed, 82 insertions(+), 45 deletions(-) diff --git a/QiaoJiaSystem/VideoToImageMulth/main.cpp b/QiaoJiaSystem/VideoToImageMulth/main.cpp index f0e6bcb..4f96c52 100644 --- a/QiaoJiaSystem/VideoToImageMulth/main.cpp +++ b/QiaoJiaSystem/VideoToImageMulth/main.cpp @@ -17,6 +17,7 @@ #include <GB28181Server.h> #include <basic/util/net_config/net_config.h> +#include <DataManagerServer/vss/dao/VssLocalSettingTblSqliteDao.h> static void startManager(LDBTool *_dbTool) { RtspAnalysManager rtspAnalysManager(_dbTool); @@ -44,6 +45,12 @@ return std::move(str_ip); } +/*** + * arg1 涓�-1鏃跺惎鐢╣b28181 + * @param argc + * @param argv + * @return + */ int main(int argc, char **argv) { std::cout << __DATE__ << " " << __TIME__ << std::endl; SAVE_APP_ARGS @@ -52,64 +59,94 @@ ENABLEGLOG(GET_STR_CONFIG("logPath").c_str()); #endif - int gindx = atoi(argv[1]) % 2; + if (argc < 4) { + assert("t_value.size()"); + } + { +// std::string rtmpAddr = appConfig.getStringProperty("srsAddr"); +// std::string publish_basepath = rtmpAddr + "" ; +// appPref.setStringData("publish.basepath", publish_basepath); + appPref.setIntData("pulish.width", 640); + appPref.setIntData("pulish.height", 360); + } + int arg1 = atoi(argv[1]); + + int gindx = abs(arg1) % 2; + int GB28181_Enable = arg1 < 0 ? 1 : 0; + DBG(gindx); + appPref.setIntData("GB28181_Enable", GB28181_Enable); appPref.setLongData("gpu.index", gindx); appPref.setIntData("show.image", 0); //todo - appPref.setIntData("CamStart", atoi(argv[1])); + appPref.setIntData("CamStart", arg1); appPref.setIntData("CamStep", atoi(argv[2])); appPref.setIntData("RpcServerPort", atoi(argv[3])); + if (GB28181_Enable) { + //#todo search from db + MysqlDBServerCfg mysqlDBServerCfg; + mysqlDBServerCfg.Host = getLocalIp(); + mysqlDBServerCfg.Port = 3306; + mysqlDBServerCfg.UserName = "root"; + mysqlDBServerCfg.Passwd = "123456"; + mysqlDBServerCfg.DBName = "EGEyesForVSS"; + mysqlDBServerCfg.DBConnCount = 5; - //#todo search from db - MysqlDBServerCfg mysqlDBServerCfg; - mysqlDBServerCfg.Host = getLocalIp(); - mysqlDBServerCfg.Port = 3306; - mysqlDBServerCfg.UserName = "root"; - mysqlDBServerCfg.Passwd = "123456"; - mysqlDBServerCfg.DBName = "EGEyesForVSS"; - mysqlDBServerCfg.DBConnCount = 5; + LDBTool ldbTool; + BaseSqliteDao::setLDBTool(&ldbTool); - - //#todo search from db - GBServerCfg gbServerCfg; - gbServerCfg.SvrIp = getLocalIp(); // 鍥芥爣鏈嶅姟鐨刬p鍦板潃 (鏈満鐨刬p鍦板潃) - gbServerCfg.SvrPort = 7060; // 鍥芥爣鏈嶅姟鐩戝惉鐨勭鍙� - gbServerCfg.SvrPubID = "44120000002000000001"; // 鍥芥爣鏈嶅姟鍣ㄧ殑ID - gbServerCfg.bMD5Auth = false; // 鏄惁闇�瑕丮D5鍔犲瘑 - gbServerCfg.UserName = "44120100002000000002"; // 鍥芥爣鏈嶅姟鐨勭敤鎴峰悕 (涓嬬骇璁惧娉ㄥ唽鐨勭敤鎴峰悕) - gbServerCfg.Passwd = "123456"; // 鍥芥爣鏈嶅姟鐨勫瘑鐮� (涓嬬骇璁惧娉ㄥ唽鐨勫瘑鐮�) - gbServerCfg.SubScribeTime = 3600; // 璁㈤槄鏃堕棿 濡傛灉涓�0 琛ㄧず涓嶈闃� - - SpinLock spinLock; - - bool running = false; - bool serinit = false; - auto func = [&] { - spinLock.lock(); - GB28181Server m_gbs; - m_gbs.setMysqlConnParam(mysqlDBServerCfg); - m_gbs.setGBServerParam(gbServerCfg); - DBG("initServer start before"); - running = m_gbs.initServer(); - DBG("initServer start after"); - - spinLock.unlock(); - while (running) { - usleep(4000); + //#todo search from db + Json::Value t_value; + { + LDBTool ldbTool; + BaseSqliteDao::setLDBTool(&ldbTool); + t_value = VssLocalSettingTblSqliteDao::instance()->findAllVssLocalSettingTblList(); } + if (t_value.size() == 1 && t_value["data"].size() > 1) { + assert("t_value.size()"); + } + DBG(t_value["data"].begin()->toStyledString()); + auto &t_cfg = *t_value["data"].begin(); + GBServerCfg gbServerCfg; + gbServerCfg.SvrIp = t_cfg["ServerIp"].asString(); // 鍥芥爣鏈嶅姟鐨刬p鍦板潃 (鏈満鐨刬p鍦板潃) + gbServerCfg.SvrPort = atoi(t_cfg["ServerPort"].asString().c_str());// 7060; // 鍥芥爣鏈嶅姟鐩戝惉鐨勭鍙� + gbServerCfg.SvrPubID = t_cfg["ServerId"].asString();// "44120000002000000001"; // 鍥芥爣鏈嶅姟鍣ㄧ殑ID + gbServerCfg.bMD5Auth = false; // 鏄惁闇�瑕丮D5鍔犲瘑 + gbServerCfg.UserName = t_cfg["UserAuthId"].asString();// "44120100002000000002"; // 鍥芥爣鏈嶅姟鐨勭敤鎴峰悕 (涓嬬骇璁惧娉ㄥ唽鐨勭敤鎴峰悕) + gbServerCfg.Passwd = t_cfg["Password"].asString();// "123456"; // 鍥芥爣鏈嶅姟鐨勫瘑鐮� (涓嬬骇璁惧娉ㄥ唽鐨勫瘑鐮�) + gbServerCfg.SubScribeTime = 3600; // 璁㈤槄鏃堕棿 濡傛灉涓�0 琛ㄧず涓嶈闃� - }; + SpinLock spinLock; - std::thread thd(func); + bool running = false; + bool serinit = false; + auto func = [&] { + spinLock.lock(); + GB28181Server m_gbs; + m_gbs.setMysqlConnParam(mysqlDBServerCfg); + m_gbs.setGBServerParam(gbServerCfg); + DBG("initServer start before"); + running = true; + m_gbs.initServer(); + DBG("initServer start after"); - usleep(400); - // ---------------------娴嬭瘯------------------------ - spinLock.lock(); - if (!running) { - ERR("running is false << DB init error"); - exit(0); + spinLock.unlock(); + while (running) { + usleep(4000); + } + }; + + std::thread thd(func); + thd.detach(); + + usleep(400); + // ---------------------娴嬭瘯------------------------ + spinLock.lock(); +// if (!running) { +// ERR("running is false << DB init error"); +// exit(0); +// } } DBG("test start"); -- Gitblit v1.8.0