에이전트 DVR - 플러그인

플러그인 설치하기

플러그인을 설치하는 가장 쉬운 방법은 원격 웹 포털을 통해 설치하는 것입니다. 연결된 후, 왼쪽 상단의 서버 아이콘을 클릭하고 시스템 아래에 있는 '플러그인'으로 이동합니다. 여기에서 오른쪽 상단의 드롭다운 메뉴에서 사용하려는 플러그인을 선택하고 '설치'를 클릭하여 시작할 수 있습니다.

수동으로 설치하려는 경우에도 문제 없습니다! 플러그인을 소스에서 빌드 한 다음 빌드된 출력을 [AgentDVR 디렉토리]/Plugins/PLUGINNAME에 복사할 수 있습니다. 이 방법을 사용하면 설치 과정을 더욱 세밀하게 제어할 수 있습니다.

사용 가능한 플러그인

Agent DVR에는 CodeProject AI 통합을 비롯한 고급 비디오 처리 기능과 고급 객체 추적, 오디오 인식 및 카운팅 감지기와 같은 기능이 탑재되어 있습니다. 사용자 경험을 더욱 향상시키기 위해, AgentDVR에서 기능을 확장할 수 있는 다양한 플러그인을 제공합니다.

플러그인 목록

바코드
카메라로 거의 모든 바코드를 스캔합니다 (Windows 전용).

Raised 이벤트: 바코드 인식됨
지원: 비디오

스크린샷
게인
오디오 장치에서 나오는 오디오에 실시간 밴드 필터를 적용합니다.

Raised 이벤트: 없음
지원: 오디오

스크린샷
실시간 지연
실시간 오디오와 비디오에 지연을 추가합니다 (스포츠 분석에 유용).

Raised 이벤트: 없음
지원: 비디오, 오디오

스크린샷
날씨
위치에 기반하여 실시간 비디오에 날씨 상태 오버레이를 추가합니다. 날씨가 변화하는 경우 - 예를 들어 폭풍이 오거나 바람 세기나 온도 제한이 초과되는 경우 - 이벤트를 발생시킵니다. 아이콘만으로부터 전체 세부 정보까지 날씨 데이터의 레이아웃과 표시 모드를 사용자 정의할 수 있습니다.
날씨 구성은 정보를 레이아웃하기 위해 형식 문자열을 사용합니다. 다음은 사용할 수 있는 일부 예제 형식 문자열입니다:

전체 정보:

{icon}{main}: {description} 
 Wind: {wind} Gust: {gust} 
 Temp: {temp} Feels Like: {feelsLike} 
 Humidity: {humidity} UVI: {uvi}

아이콘만:

{icon}

한 줄:

{main} {wind} {temp} {humidity} UVI: {uvi}

Raised 이벤트: 고온, 돌풍, 상태
지원: 비디오

스크린샷
카메라에 Listen와 같은 오디오 플러그인을 사용하는 경우, 카메라를 편집하고 오디오 탭을 선택한 다음 마이크를 구성하려면 클릭해야 합니다. 그런 다음 오디오 장치에 대한 플러그인 탭에 액세스할 수 있습니다. 또는 서버 아이콘을 클릭하여 장치 편집을 선택하고 해당 목록에서 마이크를 편집할 수 있습니다.

플러그인 설정하기

플러그인의 기능을 활용할 준비가 되셨나요? 단순히 장치(카메라 및/또는 마이크)를 추가하고 편집 설정으로 이동하세요. 오른쪽 상단의 드롭다운에서 플러그인 탭을 찾으실 수 있습니다. 여기에서 원하는 플러그인을 선택하고 필요에 맞게 구성하기 위해 "..." 버튼을 클릭하면 됩니다.

일부 플러그인은 이벤트를 발생시켜 해당 이벤트에 대한 작업을 할 수 있습니다. 예를 들어, 날씨 플러그인은 설정 가능한 값(플러그인에서 구성 가능)을 초과하는 강풍이 발생할 때 Gust 이벤트를 발생시킵니다. 카메라를 편집하고 작업 탭으로 이동하면 이에 대응할 수 있는 옵션을 제공합니다. 예를 들어, 경보음을 울리거나 녹화를 시작할 수 있습니다. 단순히 플러그인 이름: 이벤트 - 예를 들어 Weather: Gust를 If 선택 상자에 선택하고 작업을 할당하면 됩니다.

자신만의 플러그인을 생성하세요.

플러그인은 Agent의 오디오 및 비디오 처리 기능을 향상시키기 위해 추가할 수 있는 동적 모듈입니다. 플러그인을 사용하여 실시간 효과, 오버레이, 이벤트 발생 및 Agent에서 경고를 트리거하여 고급 사용자 정의 작업을 수행할 수 있습니다.

Agent DVR용 플러그인을 만들기 시작하려면 .Net Standard 2.0 프로젝트로 개발해야 합니다. 이는 모든 플랫폼에서 호환됩니다. https://github.com/ispysoftware/AgentDVR-Plugins에서 오픈 소스 플러그인을 복제하여 시작하세요. 플러그인을 빌드하려면 최신 버전의 Visual Studio가 필요합니다.

데모 플러그인을 기본으로 시작하는 것을 권장합니다. 최신 버전의 Agent가 설치되어 있는지 확인하세요. 데모 플러그인을 빌드한 후 Demo\bin\Debug\netstandard2.0에서 모든 파일을 Agent\Plugins\Demo\로 복사하세요. Agent를 재시작하고 카메라를 편집한 다음 플러그인 탭으로 이동하세요. 플러그인을 활성화하고 드롭다운에서 Demo를 선택한 후 "..." 버튼을 클릭하여 구성하세요.

데모 플러그인은 완전히 크로스 플랫폼 호환되며 플러그인으로 구축할 수 있는 다양한 기능을 보여줍니다. 실시간 비디오 효과, 그래픽 오버레이, 실시간 볼륨 제어 및 Agent의 이벤트 하위 시스템과의 통합이 포함되어 있습니다. 플러그인 메뉴에서 다양한 입력 컨트롤이 작동하는 방식에 대한 통찰력을 제공합니다.


개발자를 위한 플러그인 참고 사항:

구성: Agent는 설정 저장 및 렌더링을 위해 XML, XSD 및 JSON을 혼합하여 사용합니다. config.xsd 파일을 편집하려면 Visual Studio의 XML (Text) 편집기를 사용하고 인코딩을 설정하세요. 필요한 필드를 추가한 후 xsd 파일 디렉토리에서 C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\xsd.exe /c config.xsd 명령을 사용하여 C# 클래스 파일을 생성하세요.

Agent의 구성 렌더링 및 XML 업데이트는 .json 파일에 의존합니다. UI 표시를 위해 json 디렉토리의 config_en.json을 편집하세요. 여러 섹션을 탭으로 렌더링할 수 있습니다. json의 'bindto' 필드는 config XML 필드와 연결됩니다. Agent는 컨트롤 렌더링, 설정 저장 및 업데이트를 자동화합니다.

json 항목에 "live": true를 추가하면 OK 버튼 클릭을 기다리지 않고 즉시 업데이트할 수 있으므로 실시간 조정에 적합합니다. 'converter' 필드는 값 포맷팅을 위해 Utils.cs의 'PopulateResponse'를 활용합니다.

미디어 지원: "video", "audio" 또는 둘 다를 처리할지 선택하세요. Main.cs의 'Supports' 필드를 하드코딩할 수 있습니다.

지속적인 처리: 장치에서 모든 비디오 및 오디오 프레임이 플러그인으로 분석 또는 처리를 위해 전송됩니다. 이는 데모에서 설명한 대로 프레임 처리를 이벤트 중에만 수행합니다.

모션/경고 처리: 데모 플러그인의 'ProcessEvent' 메서드를 활용하여 모션 또는 경고 시 프레임을 처리하세요. 이를 통해 이벤트 중에만 프레임 처리를 수행할 수 있습니다.

사용자 정의 이벤트: 플러그인의 'GetCustomEvents' 메서드는 생성하는 사용자 정의 이벤트 목록을 반환해야 합니다. 이러한 이벤트는 Agent UI의 'If' 목록에서 'Actions' 아래에 표시됩니다. 'Result' 항목을 사용하여 이러한 이벤트를 트리거하고 작업 이름 및 선택적인 MSG, Tag, Filename 및 AIJSON을 지정하세요.

경고, 감지 및 태그: "alert" 또는 "detect" 이벤트 이름을 가진 Result를 추가하여 경고를 발생시키거나 이벤트를 감지하세요. 'tag' 이벤트 이름을 가진 Result로 지속적인 녹화에 태그를 지정하세요.

API 호출: Agent는 장치 정보와 로컬 서버 포트로 플러그인을 초기화합니다. 이는 장치에 대한 API 명령에 유용합니다. 속성 AppDataPath 및 AppPath도 표시 또는 파일 저장 위치로 설정됩니다.

배포: 멋진 또는 유용한 플러그인을 만들었나요? 우리와 공유하여 커뮤니티에 기여하세요!

문서
필터 적용됨