Agent DVR: 플러그인

플러그인 설치하기

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

수동으로 설치하려는 경우에도 문제 없습니다! 플러그인을 소스에서 빌드 한 다음 빌드된 출력을 Agent/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 DVR의 오디오 및 비디오 처리 기능을 향상시키기 위해 추가할 수 있는 동적 모듈입니다. 플러그인을 사용하면 Agent DVR에서 실시간 효과, 오버레이, 이벤트 발생 및 경고 트리거를 적용하여 고급 사용자 정의 작업을 수행할 수 있습니다.

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

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

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


개발자를 위한 플러그인 노트:

구성: Agent DVR은 설정 저장을 위해 JSON과 클래스 파일을 사용합니다. 설정을 구성하려면 config.cs 파일을 편집하십시오.

Agent DVR의 구성 렌더링은 .json 파일에 의존합니다. UI 표시를 위해 json 디렉토리의 config_en.json을 편집하십시오. 여기서 여러 섹션을 탭으로 렌더링할 수 있습니다. 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을 사용하여 결과를 추가하여 경보를 발생시키거나 이벤트를 감지하세요. 'tag' eventName을 사용하여 지속적인 녹화에 태그를 지정하고 필요한대로 태그를 설정하세요.

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

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