# 제품 요구사항 정의서 (PRD)

## 1. 프로젝트 개요
- **프로젝트 명:** 성림 카메라 라이브 컨트롤러
- **메인 실행 파일:** `live_control.py`
- **목적:** RTSP 스트림을 통한 실시간 카메라 제어, 인원 분석 및 스냅샷 저장 GUI 애플리케이션.

## 2. 주요 기능 및 요구사항

### 2.1. 단축키 시스템 (한/영 모드 공통 지원)
- **카메라 이동:** `W`(상), `A`(좌), `S`(하), `D`(우) - 누름 시작, 뗌 중지.
- **줌 제어:** `Q`(줌 인), `E`(줌 아웃) - 누름 시작, 뗌 중지.
- **분석 및 저장:** `F`(사람 수 세기 분석), `C`(현재 화면 스냅샷 저장).
- **프리셋 숫자 입력 (3x3 레이아웃):**
  - 하단: `m`(1), `,`(2), `.`(3)
  - 중단: `j`(4), `k`(5), `l`(6)
  - 상단: `u`(7), `i`(8), `o`(9)
  - 기타: `;`(0)
- **프리셋 이동 실행:** `Enter` (입력된 숫자로 이동 후 입력창 자동 초기화).
- **입력 수정:** `Backspace`(한 글자 삭제), `Escape`(입력 전체 초기화).

### 2.2. 카메라 스트림 전환
- **트리거:** 상단 숫자키 `1`, `2`, `3` 입력.
- **확정:** `Spacebar` 입력 시 해당 포트(20001, 20002, 20003)로 스트림 전환 시작.
- **안정성:** 스트림 연결 실패 시 무한 재시도를 방지하고 사용자 명령 대기.

### 2.3. UI/UX 임시 사항 (추후 삭제 대상)
- **현재 스트림 URL 표시 라벨:** 화면 상단에 현재 접속 시도 중인 RTSP 주소를 노란색 글씨로 표시함.
  - **참고:** 현재는 주소 전환 여부 확인용으로 사용 중이며, **추후 로직 검증 완료 후 삭제 예정.**

## 3. 기술적 특징
- **물리 키 매핑:** IME(한글 입력기) 상태와 관계없이 물리적인 키 위치를 기준으로 단축키 작동.
- **비동기 처리:** `QThread`를 활용하여 영상 스트림 처리와 GUI 반응성 분리.
