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