|
|
|
import { Component, OnInit } from '@angular/core';
|
|
|
|
|
|
|
|
@Component({
|
|
|
|
selector: 'app-config-form',
|
|
|
|
templateUrl: './config-form.component.html',
|
|
|
|
styleUrls: ['./config-form.component.scss']
|
|
|
|
})
|
|
|
|
export class ConfigFormComponent implements OnInit {
|
|
|
|
|
|
|
|
constructor() { }
|
|
|
|
|
|
|
|
ngOnInit(): void {
|
|
|
|
}
|
|
|
|
goback() {
|
|
|
|
history.go(-1)
|
|
|
|
}
|
|
|
|
|
|
|
|
config1: string = `[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]
|
|
|
|
#chaoyang-out174
|
|
|
|
#enable or disable following feature
|
|
|
|
enable=1
|
|
|
|
#ROI to filter select objects, and remove from meta data
|
|
|
|
roi-RF=100;1080;1920;1080;1200;350;500;350
|
|
|
|
#remove objects in the ROI
|
|
|
|
inverse-roi=0
|
|
|
|
class-id=-1
|
|
|
|
|
|
|
|
# ## Per stream configuration
|
|
|
|
# [roi-filtering-stream-1]
|
|
|
|
# #chaoyang-out171
|
|
|
|
# #enable or disable following feature
|
|
|
|
# enable=1
|
|
|
|
# #ROI to filter select objects, and remove from meta data
|
|
|
|
# roi-RF=1493;782;1893;782;1796;1077;951;1080
|
|
|
|
# #remove objects in the ROI
|
|
|
|
# inverse-roi=0
|
|
|
|
# class-id=-1
|
|
|
|
|
|
|
|
# ## Per stream configuration
|
|
|
|
# [roi-filtering-stream-2]
|
|
|
|
# #chaoyang-out171
|
|
|
|
# #enable or disable following feature
|
|
|
|
# enable=1
|
|
|
|
# #ROI to filter select objects, and remove from meta data
|
|
|
|
# roi-RF=0;1080;1920;1080;1920;540;0;200
|
|
|
|
# #remove objects in the ROI
|
|
|
|
# inverse-roi=0
|
|
|
|
# class-id=-1
|
|
|
|
|
|
|
|
## Per stream configuration
|
|
|
|
[roi-filtering-stream-3]
|
|
|
|
#chaoyang-out171
|
|
|
|
#enable or disable following feature
|
|
|
|
enable=1
|
|
|
|
#ROI to filter select objects, and remove from meta data
|
|
|
|
roi-RF= 0;0;0;0;0;0;0;0
|
|
|
|
#remove objects in the ROI
|
|
|
|
inverse-roi=0
|
|
|
|
class-id=-1
|
|
|
|
|
|
|
|
# ## Per stream configuration
|
|
|
|
# [roi-filtering-stream-4]
|
|
|
|
# #chaoyang-out181
|
|
|
|
# #enable or disable following feature
|
|
|
|
# enable=1
|
|
|
|
# #ROI to filter select objects, and remove from meta data
|
|
|
|
# roi-RF=200;0;650;0;650;500;200;500
|
|
|
|
# #remove objects in the ROI
|
|
|
|
# inverse-roi=0
|
|
|
|
# class-id=0
|
|
|
|
|
|
|
|
# ## Per stream configuration
|
|
|
|
# [roi-filtering-stream-5]
|
|
|
|
# #chaoyang-out181
|
|
|
|
# #enable or disable following feature
|
|
|
|
# enable=1
|
|
|
|
# #ROI to filter select objects, and remove from meta data
|
|
|
|
# roi-RF=930;93;1870;93;1870;1080;930;1080
|
|
|
|
# #remove objects in the ROI
|
|
|
|
# inverse-roi=0
|
|
|
|
# class-id=0
|
|
|
|
|
|
|
|
# ## Per stream configuration
|
|
|
|
# [roi-filtering-stream-6]
|
|
|
|
# #chaoyang-out166
|
|
|
|
# #enable or disable following feature
|
|
|
|
# enable=1
|
|
|
|
# #ROI to filter select objects, and remove from meta data
|
|
|
|
# roi-RF=1174;151;1920;151;1920;1080;1174;1080
|
|
|
|
# #remove objects in the ROI
|
|
|
|
# inverse-roi=0
|
|
|
|
# class-id=-1
|
|
|
|
|
|
|
|
# ## Per stream configuration
|
|
|
|
# [roi-filtering-stream-7]
|
|
|
|
# #chaoyang-out166
|
|
|
|
# #enable or disable following feature
|
|
|
|
# enable=1
|
|
|
|
# #ROI to filter select objects, and remove from meta data
|
|
|
|
# roi-RF=1450;300;1910;300;1910;950;1450;950
|
|
|
|
# #remove objects in the ROI
|
|
|
|
# inverse-roi=0
|
|
|
|
# class-id=-1
|
|
|
|
|
|
|
|
[line-crossing-stream-1]
|
|
|
|
enable=1
|
|
|
|
#Label;direction;lc
|
|
|
|
line-crossing-Entry=1791;473;1570;845;1400;782;1893;782
|
|
|
|
# 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=loose
|
|
|
|
|
|
|
|
[line-crossing-stream-3]
|
|
|
|
enable=1
|
|
|
|
#Label;direction;lc
|
|
|
|
line-crossing-Entry=900;600;500;600;900;1080;550;300
|
|
|
|
# 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=loose`
|
|
|
|
config2: string = `# 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
|
|
|
|
topk: 5
|
|
|
|
roi-top-offset: 0
|
|
|
|
roi-bottom-offset: 0
|
|
|
|
detected-min-w: 20
|
|
|
|
detected-min-h: 20
|
|
|
|
|
|
|
|
smoke_fire_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':
|
|
|
|
- [270, 350, 600, 250]
|
|
|
|
- 'grounder-3':
|
|
|
|
- [290, 200, 580, 250]
|
|
|
|
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`
|
|
|
|
|
|
|
|
config3: string = `logging_interval: 600
|
|
|
|
test_action: true # trigger for imaging capturing, when set to False, image is captured based on fixed time interval, otherwise on rules`
|
|
|
|
config4: string = `#Chaoyang RTSP sources
|
|
|
|
video_rate: 5
|
|
|
|
inference_buffer_second: 10
|
|
|
|
sources:
|
|
|
|
- name: 'Sources 0'
|
|
|
|
user: 'admin'
|
|
|
|
password: 'a12345678'
|
|
|
|
uri: 'rtsp://10.28.91.170:554/Streaming/Channels/101?transportmode=unicast'
|
|
|
|
type: 0
|
|
|
|
|
|
|
|
- name: 'Sources 1'
|
|
|
|
user: 'admin'
|
|
|
|
password: 'Aa88888888'
|
|
|
|
uri: 'rtsp://10.28.91.174:554/Streaming/Channels/101?transportmode=unicast'
|
|
|
|
type: 3
|
|
|
|
|
|
|
|
- name: 'Sources 2'
|
|
|
|
user: 'admin'
|
|
|
|
password: 'a12345678'
|
|
|
|
uri: 'rtsp://10.28.91.164:554/Streaming/Channels/101?transportmode=unicast'
|
|
|
|
type: 0
|
|
|
|
|
|
|
|
- name: 'Sources 3'
|
|
|
|
user: 'admin'
|
|
|
|
password: 'Aa88888888'
|
|
|
|
uri: 'rtsp://10.28.91.133:554/Streaming/Channels/101?transportmode=unicast'
|
|
|
|
type: 2
|
|
|
|
|
|
|
|
- name: 'Sources 4'
|
|
|
|
user: 'admin'
|
|
|
|
password: 'Aa88888888'
|
|
|
|
uri: 'rtsp://10.28.91.171:554/Streaming/Channels/101?transportmode=unicast'
|
|
|
|
type: 1
|
|
|
|
|
|
|
|
- name: 'Sources 5'
|
|
|
|
user: 'admin'
|
|
|
|
password: 'Aa88888888'
|
|
|
|
uri: 'rtsp://10.28.91.181:554/Streaming/Channels/101?transportmode=unicast'
|
|
|
|
type: 1
|
|
|
|
|
|
|
|
- name: 'Sources 6'
|
|
|
|
user: 'admin'
|
|
|
|
password: 'Aa88888888'
|
|
|
|
uri: 'rtsp://10.28.91.166:554/Streaming/Channels/101?transportmode=unicast'
|
|
|
|
type: 1
|
|
|
|
|
|
|
|
- name: 'Sources 7'
|
|
|
|
user: 'admin'
|
|
|
|
password: 'a12345678'
|
|
|
|
uri: 'rtsp://10.28.91.161:554/Streaming/Channels/101?transportmode=unicast'
|
|
|
|
type: 1`
|
|
|
|
}
|