Files
GhiVideo_v4/docs/history/2026-07-09_1525_제주데이터-플레이어-연결.md
T
b23042andClaude Fable 5 84f4921826 제주 드론 도로영상 지원: DJI 로그 어댑터·분할영상 연속재생·카메라 자동감지·오버레이 개선
- 제주 DJI 시간기반 비행로그(CSV) 파싱 어댑터: 세그먼트 창 정렬, 가상 fps 환산
- 분할 영상(이름 오름차순) 연속재생 + 좌상단 영상목록 콤보(선택 재생), 세그먼트별 드론 로그 재정렬
- KML 다중 파일 병합 파싱: STA 체이니지 측점(71개) + 지장물 신포맷(타입/이름/텍스트박스_색상)
- 시설물 라벨: 지정색 배경 박스 + 흰 글자, 팝업 중앙 정렬, 호버 구간 깜빡임 수정
- 카메라 자동감지(djmd: ZenmuseP1, focal 29.9mm) + <영상명>.camera.json PC 저장/폴더 자동 적용
- Yaw 자동추정(GPS 진행방위 기반) + 라벨 드래그 Yaw 역산 모드
- 스테이션바: GPS 이동거리 진행도(호버 시 정지), 노선밖 거리 표기, 원거리 구조물 마크 제외
- 서버: /api/camera 라우트, ecosystem 포트 54000·제주 데이터 경로
- docs/history: 작업 이력 21건

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-09 20:58:49 +09:00

38 lines
2.2 KiB
Markdown

# 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 어댑터 작업 시 요구 기능(경로 시각화, 프레임별 위치 표시 등) 범위 확정 필요