Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
gamera_videos_no_ui
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
liusq
gamera_videos_no_ui
Commits
46bc3f54
Commit
46bc3f54
authored
Feb 20, 2025
by
guof
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'feature-1007583' into 'release'
完善NVR处理 See merge request
!94
parents
68234234
2114aaf1
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
31 additions
and
26 deletions
+31
-26
CameraHandle.cpp
+1
-0
MediaFaceImage.cpp
+3
-3
mainwindow.cpp
+27
-23
No files found.
CameraHandle.cpp
View file @
46bc3f54
...
...
@@ -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
){
...
...
MediaFaceImage.cpp
View file @
46bc3f54
...
...
@@ -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
;
// 返回找到的第一个匹配的通道号
...
...
mainwindow.cpp
View file @
46bc3f54
...
...
@@ -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 ¶meter,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
(){
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment