From d3d1d88da20abffe10c62089e758768a3461b8ca Mon Sep 17 00:00:00 2001 From: chenshijun <csj_sky@126.com> Date: 星期四, 14 三月 2019 18:01:28 +0800 Subject: [PATCH] 解决ffmpeg打开失败没处理导致段错误的问题 --- QiaoJiaSystem/DataManagerServer/http_configserver.cpp | 85 +++++++++++++++++++++++++++--------------- 1 files changed, 54 insertions(+), 31 deletions(-) diff --git a/QiaoJiaSystem/DataManagerServer/http_configserver.cpp b/QiaoJiaSystem/DataManagerServer/http_configserver.cpp index 8aea381..5193036 100644 --- a/QiaoJiaSystem/DataManagerServer/http_configserver.cpp +++ b/QiaoJiaSystem/DataManagerServer/http_configserver.cpp @@ -1008,6 +1008,18 @@ elem["str_brand"] = iter->str_brand.toStdString(); elem["str_reserved"] = iter->str_reserved.toStdString(); + SdkRuleMap ruleMap = db_c.searchSdkRuleByCamId(iter->str_cam_dev_id); + + int count = ruleMap.size(); + elem["nSdkTypes"] = Json::arrayValue; + + if (count > 0) { + for (auto rule:ruleMap) { + if (rule.second.nIsRun == 1) { + elem["nSdkTypes"].append(rule.second.nSdkType); + } + } + } // Record_Cam_Sdk rec_sdk = db_c.searchCamSdkTableByCamId(iter->str_cam_dev_id); // elem["str_sdks"] = rec_sdk.str_sdks.toStdString(); // elem["str_det_thr"] = rec_sdk.str_det_thr.toStdString(); @@ -1052,7 +1064,7 @@ if ((!ret) || (serialnumber[0] == 0)) { return "{\"ret_status\": \"鍐呭鏈夎锛岃妫�鏌ワ紒\"}"; } - + rec.type = 0; rec.str_cam_dev_id = QString::fromLatin1((const char *) serialnumber);//鎽勫儚鏈篿d cam_mac rec.str_name = QString::fromStdString(value["str_name"].asString()); rec.str_addr = QString::fromStdString(value["str_addr"].asString()); @@ -1272,26 +1284,35 @@ Json::Reader reader; Json::Value value_reader; - + std::string out; if (!reader.parse(content, value_reader)) { return "{\"ret_status\": \"浼犺緭閿欒锛岃妫�鏌ワ紒\"}"; } + Json::Value value; + if (value_reader.isMember("id")) { + if (value_reader["id"].isNull()) return "{\"ret_status\": \"id鍐呭鏈夎锛岃妫�鏌ワ紒\"}"; + value["connect_status"] = "True"; + std::string rtmp_url = appConfig.getStringProperty("srsAddr"); + rtmp_url.append("cam").append(value_reader["id"].asCString()); + value["video_url"] = rtmp_url; + out = value.toStyledString(); - //TODO - //璋冪敤rtsp娴乺tsp://admin:a1234567@192.168.1.215:554/h264/ch1/main/av_stream + } else { + //TODO + //璋冪敤rtsp娴乺tsp://admin:a1234567@192.168.1.215:554/h264/ch1/main/av_stream // std::string rtsp_url = "rtsp://" + username + ":" + passwd + "@" + ip + ":" + std::to_string(port) + "/h264/ch1/main/av_stream"; - bool ret = cam_connect_video_start(value_reader["str_ip"].asString(), value_reader["n_port"].asInt(), \ + bool ret = cam_connect_video_start(value_reader["str_ip"].asString(), value_reader["n_port"].asInt(), \ value_reader["str_username"].asString(), value_reader["str_password"].asString(), \ value_reader["str_brand"].asString()); - if (!ret) { - return "{\"ret_status\": \"鍐呭鏈夎锛岃妫�鏌ワ紒\"}"; - } + if (!ret) { + return "{\"ret_status\": \"鍐呭鏈夎锛岃妫�鏌ワ紒\"}"; + } - std::string rtmp_url = m_rtmp[value_reader["str_ip"].asCString()].appPC->getRtmp(); - Json::Value value; - value["connect_status"] = "True"; - value["video_url"] = rtmp_url; - std::string out = value.toStyledString(); + std::string rtmp_url = m_rtmp[value_reader["str_ip"].asCString()].appPC->getRtmp(); + value["connect_status"] = "True"; + value["video_url"] = rtmp_url; + out = value.toStyledString(); + } return out; } @@ -1447,12 +1468,12 @@ fdfsClient.rwLock.unlock(); } - //# http client 127.0.0.1:9999/resetFdfs - std::string http_cmd = "http://127.0.0.1:9999/resetFdfs"; - HttpRequestWithCrul httpRequestWithCrul; - std::string response_bak = ""; - std::string postParams_bak = ""; - httpRequestWithCrul.curl_post_req("http://127.0.0.1:9999/resetFdfs", postParams_bak, response_bak); +// //# http client 127.0.0.1:9999/resetFdfs +// std::string http_cmd = "http://127.0.0.1:9999/resetFdfs"; +// HttpRequestWithCrul httpRequestWithCrul; +// std::string response_bak = ""; +// std::string postParams_bak = ""; +// httpRequestWithCrul.curl_post_req("http://127.0.0.1:9999/resetFdfs", postParams_bak, response_bak); } } else { return "{\"ret_status\": \"浼犺緭閿欒锛岃妫�鏌ワ紒\"}"; @@ -1934,6 +1955,7 @@ ret = erlangDbTool->createDatabase(Uuid, fieldValues); } else if (SyncType == 0) { TableName.insert(0, "lt_"); + fieldValues["tableName"] = TableName; //鏈湴搴� ret = m_SqliteFaceEncap.createTable(TableName, fieldValues); } @@ -2408,26 +2430,27 @@ std::string BwType = value["BwType"].asString(); std::string StartTime = value["StartTime"].asString(); std::string EndTime = value["EndTime"].asString(); - + //#鏇存柊搴曞簱绠$悊琛� + FieldValues fieldValues; + fieldValues.insert(std::make_pair("uuid", Uuid)); + fieldValues.insert(std::make_pair("tableName", TableName)); +// fieldValues.insert(std::make_pair("tableDesc", "ceshi2")); + fieldValues.insert(std::make_pair("tableType", TableType)); + fieldValues.insert(std::make_pair("bwType", BwType)); + fieldValues.insert(std::make_pair("startTime", StartTime)); + fieldValues.insert(std::make_pair("endTime", EndTime)); +// fieldValues.insert(std::make_pair("create_by", "who")); bool ret = false; if (SyncType == 1) { //鍚屾搴� - ret = erlangDbTool->updateDatabase(Uuid, TableType, TableName, SyncType, BwType, StartTime, EndTime); + ret = erlangDbTool->updateDatabase("sys_o_tables", fieldValues); } else if (SyncType == 0) { //鏈湴搴� - //#鏇存柊搴曞簱绠$悊琛� - FieldValues fieldValues; - fieldValues.insert(std::make_pair("uuid", Uuid)); if (TableName.find("lt_") != 0) { TableName.insert(0, "lt_"); } - fieldValues.insert(std::make_pair("tableName", TableName)); -// fieldValues.insert(std::make_pair("tableDesc", "ceshi2")); - fieldValues.insert(std::make_pair("tableType", TableType)); - fieldValues.insert(std::make_pair("bwType", BwType)); - fieldValues.insert(std::make_pair("startTime", StartTime)); - fieldValues.insert(std::make_pair("endTime", EndTime)); -// fieldValues.insert(std::make_pair("create_by", "who")); + fieldValues["tableName"] = TableName; + ret = m_SqliteFaceEncap.updateTable("sys_o_tables", fieldValues); } -- Gitblit v1.8.0