CCTV-VMS

홍예은·2023년 7월 3일
0

Project

목록 보기
4/4
post-thumbnail

Project

개발 기간 | 1 년
개발 환경 | WPF / Telerik
기능 요약 | CCTV 통합관제
주요 기능 | 1. CCTV 모니터링 및 관리
               2. PTZ 제어 및 영상 조정
               3. 영상 백업 및 재생
               4. 객체 인식 이벤트 관리
               5. 사용자 계정 관리


기능

CCTV 관리 및 CCTV에서 촬영한 영상을 모니터링 하는 통합관제 솔루션입니다.
카메라 PTZ 제어 및 영상 조정 기능과 영상 백업 및 재생 기능을 제공합니다.
또한 AI선별관제 솔루션과 연동하여 객체(사람/차량) 인식 이벤트를 표시하는 기능을 지원합니다.
사용자 계정 관리를 통해 계정별로 기능 사용에 대한 권한을 부여할 수 있습니다.


화면

영상 및 타임라인 화면은 외부 모듈을 사용했고, 그 외 부분은 WPF로 구현했습니다.

공통

  • 트리 패널
  • 이벤트 패널

관제 모드

  • CCTV 영상 및 타임라인
  • 달력 및 플레이백 제어
  • 카메라 PTZ 제어

관리자 모드

  • 리소스 (레코딩 서버, 카메라 등) 관리
  • 녹화 설정
  • 사용자 계정 관리
  • AI선별관제 솔루션 연동 관리

기타

  • 로컬 프로그램 설정
  • 카메라 정보 불러오기

세부 화면

  • 트리
  • 리스트
  • PTZ 제어
  • Open/Close 토글 버튼
  • On/Off 토글 버튼

담당 업무

MVVM 패턴의 구조 설계와 전반적인 UI 구현을 담당했습니다.

1. UI 구현

디자인에 중점을 두기 위해 View와 ViewModel/Model 이 최대한 분리되도록 구현했습니다.
또한 Control 마다 스타일을 정의해 사용하여 통일된 스타일이 적용되도록 했습니다.

2. Back-End 모듈 연동

Google Flatbuffers, C++/CLI, REST API 형태의 Back-End 모듈과 연동하는 기능을 구현했습니다.

Google Flatbuffers
- 레코딩 서버, 카메라 정보 등 필요한 리소스 정보를 요청하고 Callback 형태로 정보를 수신받습니다.

C++/CLI
- 카메라 PTZ 제어 및 영상 조정 기능을 호출할 수 있습니다. (ONVIF)
- 카메라 이벤트를 수신받습니다.

REST API
- AI 선별관제 솔루션에 로그인하고 시나리오를 편집할 수 있습니다.

3. 이벤트 메시지 수신 (TCP)

AI 선별관제에서 송신하는 이벤트 메시지를 수신받는 TCP 서버를 구현했습니다.
수신받은 이벤트는 일정 시간마다 카메라 별로 Grouping 하여 화면에 표시됩니다.


4. 다국어 기능

언어별로 리소스 파일을 분리해 추가 및 수정에 용이하도록 구현했습니다.
언어 변경 시 로그아웃이나 프로그램 재실행 없이 런타임으로 설정이 가능합니다.

1개의 댓글

comment-user-thumbnail
2023년 10월 18일

안녕하세요 현재 rtsp관제 개발 중인 개발자입니다. 제가 영상 쪽은 처음이라 질문 드립니다. 혹시 소스 코드를 받아볼 수 있을까요? ptz제어와 이런 것들이 처음이라 어디부터 손대야 할지 감을 못 잡겠네요 ㅠㅠ

답글 달기