Agent DVR: 플러그인
플러그인 설치
플러그인은 Agent DVR를 바코드 스캔, 날씨 오버레이, 오디오 필터 등의 추가 오디오 및 비디오 처리 기능으로 확장하는 선택적 추가 모듈입니다.
플러그인을 설치하는 가장 간단한 방법은 원격 웹 포털을 통하는 것입니다. 연결 후 우측 상단의 Server 아이콘을 클릭하고 System 아래의 'Plugins'로 이동합니다. 여기서 우측 상단의 드롭다운 메뉴에서 사용하려는 플러그인을 선택하고 'Install'을 클릭하여 시작할 수 있습니다.
수동 설치를 선호하시나요? 문제없습니다! 소스에서 플러그인을 빌드 한 후 빌드된 출력을 Agent/Plugins/PLUGINNAME에 복사할 수 있습니다. 이 방법은 설치 프로세스를 더 잘 제어할 수 있습니다.
사용 가능한 플러그인
Agent DVR는 CodeProject AI 통합과 같은 고급 비디오 처리 기능, 고급 객체 추적, 음성 인식 및 계산 감지기로 가득 찬 기능을 제공합니다. 경험을 더욱 향상시키기 위해 AgentDVR에서 기능을 확장하는 데 사용할 수 있는 다양한 플러그인을 제공합니다.
플러그인 목록
바코드
게인
라이브 지연
날씨
위치를 기반으로 라이브 비디오에 날씨 상태 오버레이를 추가합니다. 날씨가 변경되는 경우 이벤트를 발생시킵니다. 예를 들어 폭풍이 접근 중이거나 돌풍이 발생하거나 온도 제한을 초과한 경우입니다. 날씨 데이터의 레이아웃과 표시 모드를 아이콘만 표시하는 것부터 전체 상세 정보까지 사용자 지정할 수 있습니다.
전체 정보:
{icon}{main}: {description}
풍속: {wind} 돌풍: {gust}
온도: {temp} 체감온도: {feelsLike}
습도: {humidity} UVI: {uvi}
아이콘만:
{icon}
한 줄:
{main} {wind} {temp} {humidity} UVI: {uvi}
발생 이벤트: 높은 온도, 돌풍, 상태
지원: 비디오
플러그인 설정하기
플러그인의 기능을 활용할 준비가 되셨나요? 장치(카메라 및/또는 마이크)를 추가하고 편집 설정으로 이동하기만 하면 됩니다. 오른쪽 상단의 드롭다운에서 Plugins 탭을 찾으세요. 여기서 원하는 플러그인을 선택하고 "..." 버튼을 클릭하여 필요에 맞게 구성할 수 있습니다.
일부 플러그인은 동작을 연결할 수 있는 이벤트를 발생시킵니다. 예를 들어 Weather 플러그인은 돌풍이 지정된 값을 초과할 때 Gust 이벤트를 발생시킵니다(플러그인에서 구성 가능). 카메라를 편집하고 Actions 탭으로 이동하면 이에 응답할 수 있는 옵션을 얻습니다 - 예를 들어 알람을 울리거나 녹화를 시작합니다. If 선택 상자에서 플러그인 이름: 이벤트(예: Weather: Gust)를 선택하고 동작을 할당하기만 하면 됩니다.
자체 플러그인을 만들기
플러그인은 Agent DVR에 추가할 수 있는 동적 모듈로, 오디오 및 비디오 처리 기능을 향상시킵니다. 플러그인을 사용하면 Agent DVR에서 실시간 효과, 오버레이를 적용하고 이벤트를 발생시키며 알림을 트리거하여 고급 사용자 정의 작업을 수행할 수 있습니다.
Agent DVR용 플러그인 개발을 시작하려면 https://github.com/ispysoftware/AgentDVR-Plugins에서 오픈소스 플러그인을 복제하세요. 빌드하려면 최신 버전의 Visual Studio가 필요합니다.
데모 플러그인부터 시작하는 것을 권장합니다. Agent의 최신 버전이 설치되어 있는지 확인하세요. 데모 플러그인을 빌드한 후 출력 폴더의 모든 파일을 Agent\Plugins\Demo\로 복사합니다. Agent DVR을 다시 시작하고 카메라를 편집한 후 Plugins 탭으로 이동합니다. 플러그인을 활성화하고 드롭다운에서 Demo를 선택한 후 "..." 버튼을 클릭하여 구성합니다.
Demo 플러그인은 완전한 크로스 플랫폼 호환성을 갖추고 있으며 플러그인으로 구축할 수 있는 광범위한 기능을 보여줍니다. 실시간 비디오 효과, 그래픽 오버레이, 실시간 볼륨 제어 및 Agent DVR의 Events 하위 시스템과의 통합을 포함합니다. 플러그인 메뉴는 다양한 입력 제어 작동 방식에 대한 통찰력을 제공합니다.
개발자를 위한 플러그인 참고사항:
구성: Agent DVR은 설정 저장을 위해 JSON과 클래스 파일을 사용합니다. 설정을 구성하려면 config.cs 파일을 편집합니다.
Agent DVR의 구성 렌더링은 .json 파일에 의존합니다. json 디렉토리의 config_en.json을 편집하여 UI 표시를 구성하며, 여기서 탭으로 렌더링되는 여러 섹션을 추가할 수 있습니다. json의 'bindto' 키 필드는 구성 필드에 연결됩니다. Agent DVR은 제어 렌더링, 설정 저장 및 업데이트를 자동으로 수행합니다.
json 항목에 "live": true를 추가하면 OK 버튼 클릭을 기다리지 않고 즉시 업데이트되어 라이브 튜닝에 유용합니다. 'converter' 필드는 값 형식 지정을 위해 Utils.cs의 'PopulateResponse'를 활용합니다.
미디어 지원: "video", "audio" 또는 둘 다를 처리할지 선택합니다. Main.cs의 'Supports' 필드는 하드코딩할 수 있습니다.
지속적인 처리: 기기의 모든 비디오 및 오디오 프레임은 분석 또는 처리를 위해 플러그인으로 전송되며, 데모에서 확인할 수 있습니다.
모션/알림 처리: 데모 플러그인의 'ProcessEvent' 메서드를 활용하여 모션 또는 알림 시 프레임을 처리합니다. 이를 통해 이러한 이벤트 동안에만 프레임 처리가 가능합니다.
사용자 정의 이벤트: 플러그인의 'GetCustomEvents' 메서드는 생성하는 사용자 정의 이벤트 목록을 반환해야 합니다. 이 이벤트는 Agent DVR UI의 'If' 목록의 Actions 아래에 표시됩니다. 'Result' 항목으로 이 이벤트를 트리거하고 작업 이름과 선택적 MSG, Tag, Filename, AIJSON을 지정합니다.
알림, 감지 및 태그: "alert" 또는 "detect" eventName을 가진 Result를 추가하여 알림을 발생시키거나 이벤트를 감지합니다. 'tag' eventName을 사용하여 진행 중인 녹화에 태그를 지정하고 필요에 따라 Tags를 설정합니다.
API 호출: Agent DVR은 기기 정보 및 로컬 서버 포트를 사용하여 플러그인을 초기화하며, 이는 기기의 API 명령에 유용합니다. AppDataPath 및 AppPath 속성도 표시 또는 파일 저장 위치로 설정됩니다.
배포: 멋진 또는 유용한 플러그인을 만드셨나요? 당사와 공유하고 커뮤니티에 기여하세요!