| | |
| | | return std::move(str_ip); |
| | | } |
| | | |
| | | /*** |
| | | * arg1 为-1时启用gb28181 |
| | | * @param argc |
| | | * @param argv |
| | | * @return |
| | | */ |
| | | int main(int argc, char **argv) { |
| | | std::cout << __DATE__ << " " << __TIME__ << std::endl; |
| | | SAVE_APP_ARGS |
| | |
| | | ENABLEGLOG(GET_STR_CONFIG("logPath").c_str()); |
| | | #endif |
| | | |
| | | int gindx = atoi(argv[1]) % 2; |
| | | if (argc < 4) { |
| | | assert("t_value.size()"); |
| | | } |
| | | |
| | | int arg1 = atoi(argv[1]); |
| | | |
| | | int gindx = abs(arg1) % 2; |
| | | int GB28181_Enable = abs(arg1) % 2; |
| | | 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 |
| | | 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(); // 国标服务的ip地址 (本机的ip地址) |
| | | gbServerCfg.SvrPort = atoi(t_cfg["ServerPort"].asString().c_str());// 7060; // 国标服务监听的端口 |
| | | gbServerCfg.SvrPubID = t_cfg["ServerId"].asString();// "44120000002000000001"; // 国标服务器的ID |
| | | gbServerCfg.bMD5Auth = false; // 是否需要MD5加密 |
| | | gbServerCfg.UserName = t_cfg["UserAuthId"].asString();// "44120100002000000002"; // 国标服务的用户名 (下级设备注册的用户名) |
| | | gbServerCfg.Passwd = t_cfg["Password"].asString();// "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(); // 国标服务的ip地址 (本机的ip地址) |
| | | gbServerCfg.SvrPort = atoi(t_cfg["ServerPort"].asString().c_str());// 7060; // 国标服务监听的端口 |
| | | gbServerCfg.SvrPubID = t_cfg["ServerId"].asString();// "44120000002000000001"; // 国标服务器的ID |
| | | gbServerCfg.bMD5Auth = false; // 是否需要MD5加密 |
| | | 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"); |
| | | |