Files
GhiVideo_v4/ecosystem.config.js
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

33 lines
1.6 KiB
JavaScript
Executable File

module.exports = {
apps: [
{
name: "ghiVideo-v4",
// cwd = 이 설정 파일이 있는 위치(프로젝트 루트)를 작업 디렉토리로 고정.
// 이 한 곳만 앵커로 두고, 아래 경로는 전부 cwd 기준 상대경로로 해석된다.
cwd: __dirname,
// script: cwd 기준 상대경로 (npm run build 후 생성)
script: "server/dist/server/src/app.js",
// PATH 의 node 사용 — pm2 start 전에 nvm 으로 Node 20 이 활성화돼 있어야 함
interpreter: "node",
env: {
PORT: 54000,
// 서버 config.ts 가 path.resolve(cwd 기준)로 해석 → 상대경로 OK
// 제주 중산간 도로 데이터 (D: 드라이브, WSL drvfs 마운트 경유)
VIDEOS_DIR:
"/mnt/d/_project/20260612_abcvideo/import data/v4.0 (제주도)/v4.0 (제주도_필요한 데이터만)/제주 중산간 도로 노선 동영상 비행 로그/경로 1-1",
HLS_DIR: "storage/hls",
FRAMES_DIR: "storage/frames",
THUMBNAILS_DIR: "storage/thumbnails",
DB_PATH: "storage/annotations.db",
// 절대경로 대신 PATH 에서 탐색 (apt 설치 시 /usr/bin 에 있고 PATH 포함됨)
FFMPEG_PATH: "ffmpeg",
FFPROBE_PATH: "ffprobe",
// 비행로그 CSV/KML 위치 (드론 CSV 로더는 제주 형식 미지원 — 어댑터 작업 필요)
GEO_DATA_DIR:
"/mnt/d/_project/20260612_abcvideo/import data/v4.0 (제주도)/v4.0 (제주도_필요한 데이터만)/제주 중산간 도로 노선 동영상 비행 로그/경로 1-1",
CENTER_CSV_PATH: "pythonsource/input/center.csv",
},
},
],
};