Commit 46bc3f54 by guof

Merge branch 'feature-1007583' into 'release'

完善NVR处理

See merge request !94
parents 68234234 2114aaf1
......@@ -486,6 +486,7 @@ void CameraHandle::sdkDevSnapSyn(XSDK_HANDLE hDevice, int nChannel){
if(!hk_status){
if(threeConsecutiveImage())return;
}else {
qInfo() <<QString("SN(%1): NVR=>hk_Device getIPChannelInfo:%2").arg(sSn).arg(hk_Device);
int hk_channel= mediaFaceImage->getIPChannelInfo(hk_Device,QString(loginParam->sDevId));
qInfo() <<QString("SN(%1): NVR=>hk_channel getIPChannelInfo:%2").arg(sSn).arg(hk_channel);
if(hk_channel<0){
......
......@@ -281,8 +281,8 @@ int MediaFaceImage::getIPChannelInfo(int hk_Device,const QString& ip){
NET_DVR_IPPARACFG_V40 m_strIpparaCfg = {0};
m_strIpparaCfg.dwSize = sizeof(m_strIpparaCfg);
bool bRet =SdkIpcSearchDevicesSyn(hk_Device, &m_strIpparaCfg);
if (!bRet) {
int bRet =SdkIpcSearchDevicesSyn(hk_Device, &m_strIpparaCfg);
if (bRet<0) {
qInfo() << "获取IP接入配置参数失败,错误码:" << NET_DVR_GetLastError();
return -1;
}
......@@ -295,7 +295,7 @@ int MediaFaceImage::getIPChannelInfo(int hk_Device,const QString& ip){
char ip_addr[16] = {0};
strncpy(ip_addr, m_strIpparaCfg.struIPDevInfo[channel - 1].struIP.sIpV4, sizeof(ip_addr) - 1);
QString key = QString::fromUtf8(ip_addr).trimmed();
qInfo() << "匹配的IP:" << key << ",通道号:" << channel;
if (key == ip) {
qInfo() << "找到匹配的IP:" << key << ",通道号:" << channel;
return channel; // 返回找到的第一个匹配的通道号
......
......@@ -92,10 +92,14 @@ MainWindow::MainWindow():isResetting(false)
qInfo() << "sdk初始化失败";
return;
}
//QString ip,QString userName,QString passWord,uint16_t port
NET_DVR_Init();
hk_Device =-1;
//QString ip,QString userName,QString passWord,uint16_t port
if (!NET_DVR_Init()) {
qInfo() << "初始化海康 SDK 失败!";
return;
}
this->hk_Device =-1;
this->nvr_status =config.nvrConfig.isOn;
connect(this, SIGNAL(shutdownSignals(QString,int)), this, SLOT(clearHandle(QString,int)),Qt::QueuedConnection);
......@@ -145,32 +149,32 @@ void MainWindow::runOrRebootMqtt(vides_data::MqttConfig &mqtt_config,QString &ht
subscriber->start();
}
int MainWindow::loginNetDvr(QString ip,QString userName,QString passWord,uint16_t port){
if(hk_Device<0 ){
NET_DVR_USER_LOGIN_INFO loginInfo;
NET_DVR_DEVICEINFO_V40 deviceInfo;
loginInfo.wPort=port;
if(hk_Device<0 ){
NET_DVR_USER_LOGIN_INFO struLoginInfo = {0};
NET_DVR_DEVICEINFO_V40 struDeviceInfoV40 = {0};
struLoginInfo.bUseAsynLogin = FALSE;
int lUserID = -1;
struLoginInfo.wPort=8000;
QByteArray bIp = ip.toUtf8();
char* cDevid=bIp.data();
memcpy(loginInfo.sDeviceAddress,cDevid,129);
memcpy(struLoginInfo.sDeviceAddress,cDevid,129);
QByteArray byteName = userName.toUtf8();
char* cName=byteName.data();
memcpy(loginInfo.sUserName, cName,32);
memcpy(struLoginInfo.sUserName,cName,64);
QByteArray bytePassword = passWord.toUtf8();
char* cPassword=bytePassword.data();
memcpy(struLoginInfo.sPassword,cPassword,64);
memcpy(loginInfo.sPassword, cPassword,32);
LONG lUserID = NET_DVR_Login_V40(&loginInfo, &deviceInfo);
// 打印 NET_DVR_USER_LOGIN_INFO 的内容
lUserID = NET_DVR_Login_V40(&struLoginInfo, &struDeviceInfoV40);
if (lUserID < 0) {
qInfo() << QString("登录设备失败,错误编码:%1").arg(NET_DVR_GetLastError());
return lUserID;
qInfo() << QString("登录设备失败,错误编码:%1").arg(NET_DVR_GetLastError()); return lUserID;
}
this->hk_Device=lUserID;
return lUserID;
}
......@@ -665,7 +669,7 @@ void MainWindow::startCamera(const QString &httpurl){
camera_info.mac=localDevice->mac;
reStatus.camera_info_list.push_front(camera_info);
offlineCameraHandle->setHkDevice(nvr_status,hk_Device);
qInfo() << QString(" offlineCameraHandle->setHkDevice:%1,%2").arg(nvr_status).arg(hk_Device);
qInfo() << QString("offlineCameraHandle->setHkDevice:%1,%2").arg(nvr_status).arg(hk_Device);
HttpService http_gb28181(httpurl);
vides_data::response *res=http_gb28181.httpFindGb28181Config(camera_info.sSn);
......@@ -1121,8 +1125,6 @@ void MainWindow::initCameras(vides_data::cameraParameters &parameter,vides_data:
}
mediaFaceImage->setMap(sdk_handle,cameraHandle);
initDevConfigSyn(cameraHandle,devConfig);
cameraHandle->sdkDevSetAlarmListener(sdk_handle,0);
qInfo() << QString("initCameras->setHkDevice:%1,%2").arg(nvr_status).arg(hk_Device);
......@@ -1226,9 +1228,11 @@ MainWindow::~MainWindow()
}
// 清空 handleMap
faceDetectionParkingPushs.clear();
NET_DVR_Logout(hk_Device); // 注销登录
NET_DVR_Cleanup();
LogHandler::Get().uninstallMessageHandler();
LogHandler::Get().uninstallMessageHandler();
}
void MainWindow::deleteLogFile(){
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment