# 2026-07-09 제주 중산간 도로 데이터 플레이어 연결

**소요 시간**: 10분
**Context 사용량**: input 130k / output 6k tokens

## 작업 내용

`D:\_project\...\제주 중산간 도로 노선 동영상 비행 로그\경로 1-1` 데이터를 GhiVideo_v4 플레이어에 연결.

### 데이터 구성

- DJI 드론 영상 4개 (DJI_20260629121835_0002~0005.MP4, 총 12GB)
  - H.264, 4K(3840x2160), 59.94fps, 개당 약 197초(0005는 더 짧음)
- 비행로그 CSV: `제주 중산간도로 동영상 경로 1-1.csv` — **시간 기반**(100ms 간격), 컬럼: `time(millisecond), latitude, longitude, X(E), Y(N), altitude_above_seaLevel, compass_heading, pitch, roll, gimbal_heading, gimbal_pitch, gimbal_roll`
- `제주_중산간도로.kml` — 도로 노선

### 완료 항목

- ecosystem.config.js의 `VIDEOS_DIR`/`GEO_DATA_DIR`를 `/mnt/d/...` 제주 경로로 변경, pm2 재기동 + save
- `/api/videos` 4개 영상 인식, `/api/meta` 정상 (H.264 확인 → HLS 변환 시 `-c copy` 가능)
- Range 스트리밍 검증: 앞부분 55MB/s, 2GB 지점 seek 34MB/s (4K60 비트레이트 약 19MB/s 대비 충분)

### 미완료 / 알려진 제약 (geo 비행로그 연동)

현재 geoMatch 서비스는 회덕 데이터셋 전용이라 제주 CSV를 읽지 못함:

1. 드론 CSV 파일명 `'회덕'` 하드코딩 필터 (`geoMatch.ts` loadFrames)
2. 컬럼 불일치: 기대 `frame_cnt/latitude/longitude/altitude/yaw/pitch/roll/focal_len` vs 제주 `time(millisecond)/compass_heading/gimbal_heading/...` → 시간→프레임 변환 어댑터 필요
3. POI/측점(`building/` 폴더) 데이터가 제주 데이터셋에 없음 → POI 검색 기능은 데이터 부재로 불가
4. 영상이 4개로 분할 → 로그 시간을 (영상 파일, 영상 내 시점)으로 매핑하는 오프셋 계산 필요
5. KML은 중심선(center.csv 대체) 소스로 활용 가능

### 다음 단계 참고

- 업로드 기능(tus) 사용 시 D: 폴더(VIDEOS_DIR)에 저장됨 — 의도 확인 필요
- HLS/프레임/썸네일 산출물은 기존대로 프로젝트 `storage/`에 생성됨
- 제주 geo 어댑터 작업 시 요구 기능(경로 시각화, 프레임별 위치 표시 등) 범위 확정 필요
