Agent DVR: 플러그인

플러그인 설치

플러그인은 바코드 스캔, 날씨 오버레이 및 오디오 필터와 같은 오디오 및 비디오 처리 기능으로 Agent DVR을 확장하는 선택적 추가 모듈입니다.

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

수동으로 설치하는 것을 선호하시나요? 문제없습니다! 소스에서 플러그인을 빌드 한 다음 빌드된 출력을 Agent/Plugins/PLUGINNAME에 복사할 수 있습니다. 이 방법은 설치 프로세스를 더 많이 제어할 수 있습니다.

사용 가능한 플러그인

Agent DVR은 CodeProject AI 통합과 같은 고급 비디오 처리 기능 및 고급 개체 추적, 오디오 인식 및 계산 감지기와 함께 제공됩니다. 경험을 더욱 향상시키기 위해 AgentDVR에서 기능을 확장하는 데 사용할 수 있는 다양한 플러그인을 제공합니다.

플러그인 목록

바코드

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

발생한 이벤트: 바코드 인식됨
지원: 비디오

스크린샷

감도(Gain)

오디오 장치에서 들어오는 오디오에 실시간 대역 필터를 적용합니다.

발생한 이벤트: 없음
지원: 오디오

스크린샷

라이브 지연 시간

라이브 오디오 및 비디오에 지연을 추가합니다(스포츠 분석에 유용함).

발생한 이벤트: 없음
지원: 비디오, 오디오

스크린샷

날씨

위치를 기반으로 라이브 비디오에 날씨 상태 오버레이를 추가합니다. 날씨가 변할 때 이벤트를 발생시킵니다(예: 폭풍이 올 예정이거나 바람 돌풍이나 온도 제한 사항을 초과한 경우). 아이콘만 표시하는 것부터 완전한 세부 정보까지 날씨 데이터의 레이아웃 및 표시 모드를 사용자 정의할 수 있습니다.

날씨 구성은 정보를 배치하기 위해 형식 문자열을 사용합니다. 사용할 수 있는 형식 문자열의 예는 다음과 같습니다:

완전한 정보:

{icon}{main}: {description} 
 바람: {wind} 돌풍: {gust} 
 온도: {temp} 체감 온도: {feelsLike} 
 습도: {humidity} UVI: {uvi}

아이콘만:

{icon}

한 줄:

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

발생한 이벤트: 높은 온도, 돌풍, 상태
지원: 비디오

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

플러그인 구성

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

일부 플러그인은 동작을 첨부할 수 있는 이벤트를 발생시킵니다. 예를 들어 Weather 플러그인은 돌풍이 지정된 값을 초과할 때 Gust 이벤트를 발생시킵니다(플러그인에서 설정 가능). 카메라를 편집하고 동작 목록 탭으로 이동하면 경보를 울리거나 녹화를 시작하는 등 이에 대응할 수 있는 옵션이 제공됩니다. If 선택 상자에서 플러그인 이름: 이벤트(예: Weather: Gust)를 선택하고 동작을 할당하세요.

자신만의 플러그인 만들기

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

Agent DVR용 플러그인을 만들기 시작하려면 https://github.com/ispysoftware/AgentDVR-Plugins에서 오픈소스 플러그인을 복제하는 것부터 시작하세요. 이들을 빌드하려면 최신 버전의 Visual Studio가 필요합니다.

기본으로 데모 플러그인부터 시작하는 것을 권장합니다. Agent의 최신 버전이 설치되어 있는지 확인하세요. 데모 플러그인을 빌드한 후 출력 폴더의 모든 파일을 Agent\Plugins\Demo\에 복사합니다. Agent DVR을 다시 시작하고, 카메라를 편집한 후 플러그인 탭으로 이동합니다. 플러그인을 활성화하고, 드롭다운에서 Demo를 선택한 다음 "..." 단추를 클릭하여 설정합니다.

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


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

구성: 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' 목록 아래에 나타납니다. 'Result' 항목으로 이러한 이벤트를 트리거하고 동작 이름과 선택적 MSG, Tag, Filename 및 AIJSON을 지정합니다.

경고, 감지 및 태그: "alert" 또는 "detect" eventName을 사용하여 Result를 추가하여 경고를 발생시키거나 이벤트를 감지합니다. 'tag' eventName을 사용하여 진행 중인 녹화 파일에 태그를 지정하고 필요에 따라 Tags를 설정합니다.

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

배포: 멋지거나 유용한 플러그인을 만드셨나요? 저희와 공유하고 커뮤니티에 기여하세요!