구성: 동작
대하여
Agent DVR의 Action은 카메라/AI 알림이나 장치 연결 해제와 같은 특정 이벤트에 대한 응답입니다. 예를 들어 알람을 울리거나, 스마트 플러그 URL을 통해 조명을 켜거나, 다른 카메라의 기록을 트리거하는 등 자동으로 응답하는 데 사용합니다. Action에 액세스하고 구성하려면 장치를 편집한 후 메뉴에서 Actions 섹션으로 이동합니다.
'Add'를 클릭하여 새 Action을 생성합니다. 아래 이미지와 유사한 구성 화면이 표시됩니다:

Action을 트리거할 수 있는 다양한 범위의 이벤트가 있습니다. 각 이벤트에 여러 Action을 연결할 수 있으며, 이러한 Action 내에서 다양한 태그를 통합하여 동적 응답을 생성할 수 있습니다.
Action 구성
- Active: Action을 활성화 또는 비활성화하려면 토글합니다. 또는 위에 표시된 ID와 함께 actionOn, actionOff, actionRun과 같은 명령을 사용하여 Schedule과 API를 사용할 수 있습니다.
- Name: Action의 선택적 이름입니다.
- If: 사용 가능한 이벤트를 선택합니다 (아래 참조).
- With tag: (AI Events). 이는 주로 AI 이벤트와 함께 사용됩니다. 예를 들어 AI: Object Found를 선택하고 여기에 cat을 입력하면, 고양이가 감지될 때만 Action이 트리거됩니다. 태그 일치는 서버 설정 - 일반에서 선택한 언어를 기반으로 합니다.
- Rule: 여러 태그가 모두 일치해야 하는지(AND) 또는 하나라도 일치할 수 있는지(OR) 선택합니다.
- In Zones: (AI Events). 감지된 객체를 필터링하기 위해 모션 영역(모션 감지 탭에서)을 지정합니다. 예를 들어 영역 1과 태그 cat을 선택하면, 영역 1에서 고양이가 감지될 때만 Action이 트리거됩니다. 모든 영역을 포함하려면 비워두세요.
- Repeat Timeout: 이 간격 내에 이벤트가 발생했으면 그 이벤트를 억제하고 타이머를 재설정합니다. 예를 들어 'Vehicle detected'를 트리거로 하고 30초 타임아웃을 사용하면, 알림이 한 번 전송되고 감지된 트래픽에 30초 간격이 생길 때까지 후속 알림이 일시 중지됩니다.
- Add Task: 클릭하여 Task를 추가합니다. 하나의 Action에 여러 Task를 할당할 수 있습니다 (v4.5.5.0+).
사용 가능한 동작
작업은 다양한 시스템, 장치 및 AI 이벤트에 응답할 수 있습니다. 작업을 설정할 수 있는 이벤트는 다음과 같습니다:
- AI Server Down (AI Server가 오류를 반환했습니다 - 요청이 3회 실패한 후 이벤트가 발생하고 서버가 다시 온라인 상태가 될 때까지 반복되지 않습니다)
- AI Server Up (AI Server가 오류 상태를 종료했습니다)
- AI: Ask AI Positive Result (찾고 있던 객체를 발견했습니다)
- AI: Ask AI Result (모든 Ask AI 응답에 대해 발생, 긍정 여부 불문)
- AI: Describe Response Received (이미지가 AI로 설명되었습니다 - 설명은 {MESSAGE} 및 {AIJSON} 태그에 있습니다)
- AI: Face Recognized
- AI: Face Not Recognized
- AI: License Plate Recognized
- AI: License Plate Not Recognized
- AI: Loiter Detected
- AI: Object Found
- AI: Object Not Found
- AI: Sound Recognized (마이크만 해당)
- Alert
- Alert Finished
- Call URL Response Received - 이는 "Call URL" 작업이 실행될 때 받는 응답으로 인해 트리거되어 다른 작업으로 응답할 수 있습니다.
- Manual Alert
- Motion Detected
- Motion Finished
- None - 일정에서 "Action: Run" 명령으로 작업을 직접 트리거하려면 이를 사용하십시오
- ONVIF Event ON - 예를 들어 ONVIF 논리 상태 업데이트를 기반으로 기록을 시작 및 중지하는 경우 이를 사용하십시오 (동작 감지기 유형이 ONVIF로 설정되어야 함)
- ONVIF Event OFF
- ONVIF Event Received (카메라의 모든 ONVIF 이벤트에 대해 발생)
- Photo Taken
- PTZ Preset Applied
- Reconnect Failed
- Recording Failed
- Recording Finished
- Recording Started
- Source Disconnected
- Source Reconnected
- Source Covered/ Tampered
- Switch Device Off
- Switch Device On
- System: Armed
- System: Disarmed
- System: No UI Connected - 마지막 UI 세션이 종료될 때
- System: Profile Applied
- System: UI Connected - 누군가 브라우저를 열어 시스템을 볼 때
- System: UI Disconnected - 세션이 종료될 때 (브라우저 연결 해제 후 약 1분 후 발생)
- Timelapse Started
- Timelapse Stopped
추가한 모든 플러그인 이벤트와 사용자 정의 작업도 이 목록의 끝에 나타납니다.
로이터링 감지
체류(사람이나 물체가 한 장소에 일정 시간 동안 머물러 있는 것)를 감지하려면 다음을 구성해야 합니다:
- 서버 설정에서 AI 서버를 설정합니다
- AI: Loiter Detected에 대한 작업을 추가합니다
- 찾으려는 태그를 설정합니다 - 일반적으로 person이지만 너무 오래 주차된 자동차를 감지하려면 car를 사용하거나, 방치된 짐을 감지하려면 suitcase를 사용하거나, 소파에 앉아있는 cat을 감지할 수 있습니다. 여기에서 car,bus,truck과 같이 여러 태그를 사용할 수 있습니다. 찾을 수 있는 객체의 목록은 카메라를 편집할 때 객체 인식의 클래스 목록을 참조합니다.
- 객체를 찾을 영역을 지정합니다. 감지기 탭을 사용하여 모션 영역을 그립니다.
- 감지된 객체가 영역에 있는 것을 허용할 초 단위 시간을 지정합니다.
- 조건이 충족되었을 때 수행할 작업을 추가합니다.
참고: 체류 감지기는 모서리 확인 및 오버레이와 같은 객체 인식 설정을 사용합니다
사용자 정의 작업
작업은 기기에 연결하여 수동으로 작업을 트리거할 수 있는 명령입니다. 작업은 문을 열거나 조명을 켜거나 소리를 재생하는 등의 작업을 수행하기 위해 타사 API를 호출할 수 있습니다. 작업을 추가, 삭제 및 실행하려면 라이브 페이지에서 기기를 선택하고 작업 아이콘 를 클릭하세요.
작업 설정:
- 작업을 설명하는 텍스트를 입력하고 예를 들어 "조명 켜기"를 클릭한 다음 + 버튼을 클릭하세요. 확인을 클릭하세요.
- 편집 아이콘 을 사용하여 기기를 편집하려면 클릭하세요. 상단 오른쪽의 메뉴를 사용하여 편집기에서 작업 패널을 선택하세요.
- 작업을 추가하세요. 방금 생성한 작업을 "If" 조건으로 선택한 다음 작업이 수행할 작업을 구성하세요 (작업은 사용 가능한 작업 목록의 맨 아래에 표시됨).
- 확인을 클릭하세요.
- 라이브 뷰에서 작업 버튼을 클릭하고 작업 옆의 화살표 버튼을 클릭하여 이 작업을 수동으로 트리거할 수 있습니다.
Agent DVR API를 통해서도 작업을 트리거할 수 있습니다.
사용 가능한 작업
작업은 이벤트가 발생할 때 작업이 수행하는 작업으로, 이메일 알림 또는 푸시 알림 전송부터 다른 장치의 녹화 제어까지 포함합니다. 수행할 수 있는 작업 목록(다음 아래)은 다음과 같습니다:
- 경고 - 장치에서 경고를 트리거합니다
- 삑소리 - Agent DVR 컴퓨터의 스피커에서 삑소리를 재생합니다
- URL 호출 - 선택적 인증 토큰을 사용하여 모든 URL을 호출합니다. 여기에서 Agent DVR API를 호출하거나 Discord, Slack, ntfy 및 유사한 서비스로 경고를 보낼 수 있습니다(웹훅 참조). 서버 설정에서 API 보호가 체크되어 있으면 인증 헤더를 제공해야 합니다. 이를 위해 서버 설정을 통해 사용자 계정을 추가하고 기본 인증 헤더 값을 입력해야 합니다:
- 명령 실행
자신의 명령/스크립트를 추가하려면 Commands 디렉토리에 .bat 또는 .sh 파일을 추가할 수 있습니다. 그러면 배치 파일에 매개변수를 전달할 수 있습니다. 예를 들어 모든 사진을 D 드라이브의 루트로 복사하려면:
다음을 포함하는 일반 텍스트 파일을 만듭니다:
copy %1 D:\Agent/Commands에 copyPhoto.bat로 저장합니다(Linux에서는 .sh를 사용 - chmod +x를 사용하여 이 파일을 실행 가능으로 만들어야 함)
그런 다음 작업을 추가합니다:
조건: "Photo Taken"
작업: "Execute Command"
파일: copyPhoto
매개변수: "{FILENAME}"
- 현재 녹화를 클라우드에 업로드 - 현재 녹화를 장치의 클라우드 제공자에 업로드합니다
- 지연 - 다음 작업을 실행하기 전에 일시 중지합니다
- AI에 물어보기 활성화/비활성화
- 안면 인식 활성화/비활성화
- LPR 활성화/비활성화
- 객체 인식 활성화/비활성화
- 순찰 활성화/비활성화(장치에서 PTZ 순찰 활성화)
- 음성 인식 활성화/비활성화
- 현재 녹화를 FTP에 업로드 - 현재 녹화를 장치의 FTP 서버에 업로드합니다
- 로그 - Agent DVR 로그에 메시지를 씁니다
- MQTT - MQTT 메시지를 보냅니다
- MQTT 이미지 - jpeg 바이트의 실시간 이미지를 토픽으로 보냅니다
- 네트워크 메시지
- PTZ 명령 - 카메라를 사전 설정으로 이동하거나 PTZ 명령을 실행합니다
- 이메일 전송(선택적 이미지 첨부)
- 동영상으로 이메일 전송(재생 시간 지정 - 이벤트의 버퍼를 포함함). v4.9.8.0+
- 푸시 알림 전송
- SMS 전송
- 동작 감지기 영역 설정(감지기에서 정의한 영역을 선택합니다)
- 메시지 표시 - 웹 브라우저에서 메시지를 표시합니다
- 음성(Agent DVR 컴퓨터에서)
- 음성(카메라를 통해)
- 음성(웹 브라우저를 통해)
- 일부 장치에서 녹화 시작 - 중지될 때까지 녹화합니다.
- RTMP 스트리밍 시작
- 일부 장치에서 타임랩스 시작
- 일부 장치에서 녹화 중지
- RTMP 스트리밍 중지
- 일부 장치에서 타임랩스 중지
- Switch Device On
- Switch Device Off
- 시스템: 프로필 적용 - 프로필 전환
- 시스템: 활성화
- 시스템: 비활성화
- 녹화 태그 - 현재 녹화에 태그를 추가합니다
- 일부 장치에서 사진 촬영
- 음성 합성(Agent DVR 컴퓨터에서 - iSpyConnect.com 계정이 필요하며 텍스트는 웹서비스 호출을 통해 렌더링됨)
- 음성 합성(웹 브라우저를 통해)
- 음성 합성(카메라를 통해)
- 다른 장치에서 적응형 인코딩 트리거
- 다른 장치에서 경고 트리거
- 다른 장치에서 AI에 물어보기 트리거
- 다른 장치에서 음성 인식 트리거
- Trigger Detect On (다른 기기)
- Trigger Face Recognition (다른 기기)
- Trigger LPR (다른 기기)
- Trigger Object Recognition (다른 기기)
- Trigger Recording (timeout 포함) (다른 기기). Recording 탭의 trigger recording timeout 설정까지 녹화됩니다. 이 timeout은 매번 trigger recording 작업 호출 시마다 초기화됩니다.
- UI: Change View - 연결된 UI를 다른 보기로 전환
태그 사용하기
Agent DVR 작업의 Then 필드의 태그를 사용하여 동적 응답을 만들 수 있습니다. 일부 태그는 컨텍스트별로 제한된다는 점이 중요합니다. 예를 들어, {FILENAME}은 Alert Events에서 사용할 수 없으며, {AI}는 AI 서버에서 생성되지 않은 이벤트에서는 사용할 수 없습니다.
- {ID}: 객체 ID로, Agent에서 카메라 또는 마이크를 편집할 때 편집기의 왼쪽 상단에 표시됩니다.
- {OT}: 객체 유형 ID입니다. 마이크의 경우 1, 카메라의 경우 2입니다.
- {FILENAME}: 파일명입니다. Recording Started, Recording Finished, Snapshot Taken 같은 이벤트에 적용됩니다. 파일의 전체 로컬 경로입니다.
- {CURRENT_RECORDING}: 현재 녹화의 파일명입니다. 파일의 전체 로컬 경로입니다. (v5.0.6.0+)
- {MESSAGE}: 작업을 트리거한 이벤트의 이름입니다. 예: "Manual Alert".
- {EVENT}: 이벤트 유형입니다.
- {NAME}: 장치의 이름입니다(General 탭에서 확인).
- {GROUPS}: 장치가 속한 그룹입니다(General 탭에서 확인).
- {SERVER}: 서버 이름입니다(Server Settings에서 확인).
- {ALERTID}: 알림의 ID입니다(연관된 알림이 없으면 -1).
- {ALERTCOUNT}: 장치의 알림 개수입니다.
- {TIME} and {DATE}: 서버의 현재 시간과 날짜입니다.
- {RECORDED}: 장치가 녹화 중이면 "REC", 그 외의 경우 비어있습니다.
- {TAGS}: 이벤트와 연결된 태그입니다.
- {PLUGIN}: 플러그인 이벤트의 메시지입니다.
- {LOCATION}: 카메라의 위치입니다(General 탭에서 확인).
- {LEVEL} and {DB}: 동작 또는 오디오 레벨입니다. {DB}는 오디오 장치의 데시벨 레벨입니다. 작업 실행 시 측정됩니다. (v4.3.7.0+)
- {AI}: AI에서 감지된 객체, LPR의 번호판, 또는 Facial Recognition의 감지된 얼굴의 쉼표로 구분된 목록입니다.
- {AIJSON}: AI 또는 LPR에서 반환된 JSON 데이터입니다.
- {ZONE}: 작업을 트리거한 영역입니다(AI를 사용하지 않거나 여러 영역의 경우 1,2,3 같은 CSV 목록이면 비어있음).
- {BASE64IMAGE}: 라이브 이미지 데이터 URL입니다. 원본 base64 인코딩된 바이트이므로 필요에 따라 포맷하세요. 예:
p=data:image/jpeg;base64,{BASE64IMAGE}(v4.5.9.0+ 사용 가능). 라이브 이미지 너비 640px로 리사이즈됩니다. - {BASE64IMAGE-LG}: 라이브 이미지 데이터 URL입니다. 원본 base64 인코딩된 바이트이므로 필요에 따라 포맷하세요. 예:
p=data:image/jpeg;base64,{BASE64IMAGE-LG}(v6.0.8.0+ 사용 가능). 라이브 이미지 너비 1280px로 리사이즈됩니다. - {BASE64IMAGE-NATIVE}: 라이브 이미지 데이터 URL입니다. 원본 base64 인코딩된 바이트이므로 필요에 따라 포맷하세요. 예:
p=data:image/jpeg;base64,{BASE64IMAGE-NATIVE}(v6.0.8.0+ 사용 가능). 기본 라이브 이미지입니다.
예를 들어, AI: Face Recognized 이벤트가 있고 Then 작업이 Text to Speech일 때 텍스트
Hello {AI}를 사용하면 각 인식된 사람을 이름으로 인사합니다.
참고: "Photo Taken"과 같은 파일 관련 이벤트와 함께 {BASE64IMAGE} 태그를 사용하면 파일의 전체 크기 이미지를 사용합니다. 그 외의 경우는 현재 라이브 뷰 이미지를 리사이즈합니다.
작업이 추가되면 테이블 컨트롤에 작업의 요약이 표시됩니다. 녹색 체크는 활성 작업을 나타냅니다.
스케줄러를 사용하여 작업을 활성화/비활성화하거나 작업을 트리거할 수 있습니다. 예를 들어 특정 시간에 2개의 이미지가 포함된 이메일을 보내도록 작업을 예약할 수 있습니다.
이 예에서는 2개의 이미지가 포함된 이메일을 보내도록 작업을 추가했으며, None 이벤트로 설정했습니다. 그런 다음 일요일과 토요일 오전 8시에 해당 작업을 실행하도록 예약 항목을 만들었습니다.