- 클라이언트(React/Vite): Video.js 플레이어, 하단 스테이션바, POI/구조물 영상 오버레이, 카메라 파라미터 보정, 미니맵/RoutePanel - 서버(Express): Range 스트리밍, HLS 변환, 프레임 추출, tus 업로드, 주석 API - 최근 작업: 스테이션바 종점역 표출/양끝 정렬/미도착(재생불가) 표시, POI 라벨 '구분' 우선·컴팩트 팝업·겹침제외 토글·동일좌표 다중행, 진행방향(상/하) 우선 표출, 커서 배지 크기·픽셀 떨림 개선 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
29 lines
1.1 KiB
JavaScript
Executable File
29 lines
1.1 KiB
JavaScript
Executable File
module.exports = {
|
|
apps: [
|
|
{
|
|
name: "ghiVideo",
|
|
// 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: 55000,
|
|
// 서버 config.ts 가 path.resolve(cwd 기준)로 해석 → 상대경로 OK
|
|
VIDEOS_DIR: "samplevideo",
|
|
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",
|
|
GEO_DATA_DIR: "samplevideo",
|
|
CENTER_CSV_PATH: "pythonsource/input/center.csv",
|
|
},
|
|
},
|
|
],
|
|
};
|