Browse Source

[完善]修改配置文件

develop
邵佳豪 3 years ago
parent
commit
920a426c26
  1. 1
      src/app/system-management/analysis-of-the-host/analysis-of-the-host.component.html
  2. 28
      src/app/system-management/analysis-of-the-host/analysis-of-the-host.component.ts
  3. 423
      src/app/system-management/host-config/host-config.component.ts

1
src/app/system-management/analysis-of-the-host/analysis-of-the-host.component.html

@ -62,6 +62,7 @@
<td class="operation">
<a (click)="edit(data)" style="margin-right: 12px;">编辑</a>
<a (click)="config(data)" style="margin-right: 12px;">配置</a>
<a (click)="download(data)" style="margin-right: 12px;">下载设备编号</a>
<a class="red" (click)="delete(data)">删除</a>
</td>
</tr>

28
src/app/system-management/analysis-of-the-host/analysis-of-the-host.component.ts

@ -169,4 +169,32 @@ export class AnalysisOfTheHostComponent implements OnInit {
this.router.navigate([`/system/host/camera`], { queryParams: { 'hostId': data.id, 'orId': this.selectedOilStation.id } })
}
download(data) {
console.log(data)
let params = {
edgeDeviceId: data.id
}
const httpOptions = {
responseType: 'blob' as 'json',
params: params
};
this.http.get(`/api/EdgeDevices/IdentityDigest/File`, httpOptions).subscribe({
next: (data: any) => {
console.log('文件',data)
// 文件名中有中文 则对文件名进行转码
const link = document.createElement('a');
const blob = new Blob([data], { type: 'application/octet-stream' });
link.setAttribute('href', window.URL.createObjectURL(blob));
link.setAttribute('download', `.deviceid`);
link.style.visibility = 'hidden';
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
},
error: (err) => {
console.log(err)
}
})
}
}

423
src/app/system-management/host-config/host-config.component.ts

@ -161,283 +161,180 @@ export class HostConfigComponent implements OnInit {
disposalData() {
console.log(this.listOfData)
let config1 = `[property]
enable=1
#Width height used for configuration to which below configs are configured
config-width=1980
config-height=1080
#osd-mode 0: Dont display any lines, rois and text
# 1: Display only lines, rois and static text i.e. labels
# 2: Display all info from 1 plus information about counts
osd-mode=2
#Set OSD font size that has to be displayed
display-font-size=12
## Per stream configuration
[roi-filtering-stream-0]
#shoushiyuan-out202
#enable or disable following feature
enable=1
#ROI to filter select objects, and remove from meta data
roi-RF=1052;119;76;1066;1908;1071;1797;180
#remove objects in the ROI
inverse-roi=0
class-id=-1
# ## Per stream configuration
# [roi-filtering-stream-1]
# #shoushiyuan-out206
# #enable or disable following feature
# enable=1
# #ROI to filter select objects, and remove from meta data
# roi-RF=443;660;660;1076;1113;1079;638;541
# #remove objects in the ROI
# inverse-roi=0
# class-id=-1
## Per stream configuration
[roi-filtering-stream-2]
#shoushiyuan-out210
#enable or disable following feature
enable=1
#ROI to filter select objects, and remove from meta data
roi-RF=10;323;227;1073;1908;1066;1909;370;1291;166
#remove objects in the ROI
inverse-roi=0
class-id=0
# ## Per stream configuration
# [roi-filtering-stream-3]
# #shoushiyuan-out211
# #enable or disable following feature
# enable=1
# #ROI to filter select objects, and remove from meta data
# roi-RF=587;447;405;1063;1904;1063;1334;602
# #remove objects in the ROI
# inverse-roi=0
# class-id=-1
# ## Per stream configuration
# [roi-filtering-stream-4]
# #shoushiyuan-out214 2
# #enable or disable following feature
# enable=1
# #ROI to filter select objects, and remove from meta data
# roi-RF=687;227;1025;227;1025;688;687;688
# #remove objects in the ROI
# inverse-roi=0
# class-id=0
# ## Per stream configuration
# [roi-filtering-stream-5]
# #shoushiyuan-out215 3
# #enable or disable following feature
# enable=1
# #ROI to filter select objects, and remove from meta data
# roi-RF=649;139;956;139;956;528;649;528
# # 659;139;956;139;956;448;659;448
# #remove objects in the ROI
# inverse-roi=0
# class-id=0
# ## Per stream configuration
# [roi-filtering-stream-6]
# #shoushiyuan-out216
# #enable or disable following feature
# enable=1
# #ROI to filter select objects, and remove from meta data
# roi-RF=840;152;1102;152;1102;601;840;601
# #remove objects in the ROI
# inverse-roi=0
# class-id=0
# ## Per stream configuration
# [roi-filtering-stream-7]
# #shoushiyuan-out217 4
# #enable or disable following feature
# enable=1
# #ROI to filter select objects, and remove from meta data
# roi-RF=886;248;1163;248;1163;627;886;627
# #remove objects in the ROI
# inverse-roi=0
# class-id=0
[line-crossing-stream-1]
enable=1
#Label;direction;lc
line-crossing-Entry=471;540;570;689;443;660;638;541
# line-crossing-Exit=789;672;1084;900;851;773;1203;732
class-id=0
#extended when 0- only counts crossing on the configured Line
# 1- assumes extended Line crossing counts all the crossing
extended=0
#LC modes supported:
#loose : counts all crossing without strong adherence to direction
#balanced: Strict direction adherence expected compared to mode=loose
#strict : Strict direction adherence expected compared to mode=balanced
mode=strict
[line-crossing-stream-3]
enable=1
#Label;direction;lc
line-crossing-Entry=685;794;361;704;587;447;405;1063
# line-crossing-Exit=789;672;1084;900;1908;827;685;436
class-id=0
#extended when 0- only counts crossing on the configured Line
# 1- assumes extended Line crossing counts all the crossing
extended=0
#LC modes supported:
#loose : counts all crossing without strong adherence to direction
#balanced: Strict direction adherence expected compared to mode=loose
#strict : Strict direction adherence expected compared to mode=balanced
mode=strict
# [overcrowding-stream-1]
# enable=1
# roi-OC=295;643;579;634;642;913;56;828
# #no of objects that will trigger OC
# object-threshold=2
# class-id=-1
`
let config2 = `# The all in one config file.
# RTSP sources
# type
# 0 ViolateArea.ENTRANCE,
# 1 ViolateArea.GAS_AREA,
# 2 ViolateArea.FUEL_AREA,
# 3 ViolateArea.MART,
# don't change the key name.
debug: true #when the debug is on, osd.
sources:
config: 'config/source.yaml'
streammux:
width: 1980
height: 1080
batch-size: 32
batched-push-timeout: 4000000
live-source: true
sync-inputs: true
sourcebin:
buffer-duration: 1000000000
buffer-size: 102400
tracker:
config: 'config/dstest_tracker_config.txt'
analytics:
config: 'config/config_nvdsanalytics.txt'
osd:
enable: false
ipaddr: '0.0.0.0'
port: 8554
out_path: 'test'
peoplenet:
enable: true
apply_on: -1
interval: 1
batch_size: 16
topk: 5
roi-top-offset: 0
roi-bottom-offset: 0
detected-min-w: 20
detected-min-h: 200
trafficcam:
enable: true
apply_on: 0
interval: 1
batch_size: 16
topk: 5
roi-top-offset: 0
roi-bottom-offset: 0
detected-min-w: 200
detected-min-h: 200
actionnet:
enable: false
apply_on: 1
interval: 1
batch_size: 32
# roi:
# - 'fuel_island-4':
# - [672, 227, 366, 471]
# - 'fuel_island-5':
# - [649, 139, 307, 389]
# - 'fuel_island-6':
# - [805, 152, 297, 430]
# - 'fuel_island-7':
# - [876, 248, 287, 409]
idnet:
enable: true
apply_on: -1
interval: 1
batch_size: 32
oilnet:
enable: true
apply_on: 2
interval: 1
batch_size: 16
roi-top-offset: 0
roi-bottom-offset: 0
detected-min-w: 30
detected-min-h: 0
smoke_fire_net:
enable: false
apply_on: -1
interval: 1
batch_size: 16
smoking_calling_net:
enable: true
apply_on: -1
interval: 1
batch_size: 32
connet:
enable: false
apply_on: 2
roi:
- 'oil_tube-3':
- [490, 370, 381, 168]
- 'grounder-3':
- [585, 334, 289, 139]
interval: 1
batch_size: 2
#new field for rule threshold
rule_threshold:
object_occurence_interval_second: 15
object_disappear_interval_second: 60
on_car_parking_interval_second: 1800
threshold_relying_sitting: 0.4 #rolling mean confidence
threshold_smoking_calling: 0.8 #rolling mean confidence
threshold_connecting: 0.667 #rolling mean confidence
threshold_identity: 0.1 #only to filter out people net error
enable=1
#Width height used for configuration to which below configs are configured
config-width=1980
config-height=1080
#osd-mode 0: Dont display any lines, rois and text
# 1: Display only lines, rois and static text i.e. labels
# 2: Display all info from 1 plus information about counts
osd-mode=2
#Set OSD font size that has to be displayed
display-font-size=12
`
let config2 = ''
let config3 = `test_action: true
logging_interval : 600
logging_interval : 600
`
let config4 = `#RTSP sources for file source, use file as the
#Shoushi Yuan RTSP sources
video_rate: 5
inference_buffer_second: 10`
this.listOfData.forEach((item: any) => {
let xieyouqu = []
this.listOfData.forEach((item: any, index) => {
if (item.type == 2) { xieyouqu.push(item) }
config4 += `
- name: '${item.name}'
- name: '${item.name} ${index}'
user: '${item.user}'
password: '${item.password}'
uri: '${item.uri}'
type: ${item.type}
`
if (item.type == 0) {
config1 += `
## Per stream configuration
[roi-filtering-stream-${index}]
#shoushiyuan-out202
#enable or disable following feature
enable=1
#ROI to filter select objects, and remove from meta data
roi-RF=${index}
#remove objects in the ROI
inverse-roi=0
class-id=-1
`
}
if (item.type == 2 || item.type == 3) {
config1 += `
[line-crossing-stream-${index}]
enable=1
#Label;direction;lc
line-crossing-Entry=${index}
# line-crossing-Exit=789;672;1084;900;851;773;1203;732
class-id=0
#extended when 0- only counts crossing on the configured Line
# 1- assumes extended Line crossing counts all the crossing
extended=0
#LC modes supported:
#loose : counts all crossing without strong adherence to direction
#balanced: Strict direction adherence expected compared to mode=loose
#strict : Strict direction adherence expected compared to mode=balanced
mode=strict
`
}
})
if (xieyouqu.length != 1) {
this.message.create('warning', '有且只能有一个卸油区!');
return
} else {
config2 = `# The all in one config file.
# RTSP sources
# type
# 0 ViolateArea.ENTRANCE,
# 1 ViolateArea.GAS_AREA,
# 2 ViolateArea.FUEL_AREA,
# 3 ViolateArea.MART,
# don't change the key name.
debug: true #when the debug is on, osd.
sources:
config: 'config/source.yaml'
tracker:
config: 'config/dstest_tracker_config.txt'
analytics:
config: 'config/config_nvdsanalytics.txt'
peoplenet:
enable: true
apply_on: -1
interval: 1
batch_size: 16
topk: 5
roi-top-offset: 0
roi-bottom-offset: 0
detected-min-w: 20
detected-min-h: 200
trafficcam:
enable: true
apply_on: 0
interval: 1
batch_size: 16
topk: 5
roi-top-offset: 0
roi-bottom-offset: 0
detected-min-w: 100
detected-min-h: 100
actionnet:
enable: false
apply_on: 1
# roi:
# - 'fuel_island-4':
# - [200, 0, 450, 500]
# - 'fuel_island-5':
# - [930, 93, 940, 987]
# - 'fuel_island-6':
# - [1174, 151, 746, 929]
# - 'fuel_island-7':
# - [1450, 300, 460, 650]
interval: 1
batch_size: 32
idnet:
enable: true
apply_on: -1
interval: 1
batch_size: 32
oilnet:
enable: true
apply_on: 2
interval: 1
batch_size: 16
roi-top-offset: 0
roi-bottom-offset: 0
detected-min-w: 20
detected-min-h: 20
fire_smoke_net:
enable: true
apply_on: -1
interval: 1
batch_size: 16
smoking_calling_net:
enable: true
apply_on: -1
interval: 1
batch_size: 32
connet:
enable: true
apply_on: 2
roi:
- 'oil_tube-3':
- ${xieyouqu[0].xxx}
- 'grounder-3':
- ${xieyouqu[0].xxx}
interval: 1
batch_size: 2
#new field for rule threshold
rule_threshold:
object_occurence_interval_second: 15
object_disappear_interval_second: 60
on_car_parking_interval_second: 1800
on_fire_smoke_interval_second: 5
threshold_relying_sitting: 0.4 #rolling mean confidence
threshold_smoking_calling: 0.5 #rolling mean confidence
threshold_connecting: 0.667 #rolling mean confidence
threshold_identity: 0.1 #only to filter out people net error
`
}
sessionStorage.setItem('config1', config1)
sessionStorage.setItem('config2', config2)
sessionStorage.setItem('config3', config3)

Loading…
Cancel
Save