초기 커밋: 스테이션(측점) 기반 주행영상 플레이어
- 클라이언트(React/Vite): Video.js 플레이어, 하단 스테이션바, POI/구조물 영상 오버레이, 카메라 파라미터 보정, 미니맵/RoutePanel - 서버(Express): Range 스트리밍, HLS 변환, 프레임 추출, tus 업로드, 주석 API - 최근 작업: 스테이션바 종점역 표출/양끝 정렬/미도착(재생불가) 표시, POI 라벨 '구분' 우선·컴팩트 팝업·겹침제외 토글·동일좌표 다중행, 진행방향(상/하) 우선 표출, 커서 배지 크기·픽셀 떨림 개선 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
# 동영상 로드 실패 (서버 중지) 복구
|
||||
|
||||
**이슈**: #0
|
||||
**소요 시간**: 10분
|
||||
**Context 사용량**: input 45k / output 3k tokens
|
||||
|
||||
## 증상
|
||||
좌측 동영상 목록에서 항목 클릭 시 "로드할 수 없음" 에러.
|
||||
|
||||
## 원인
|
||||
- 백엔드 서버(pm2 프로세스 `abcVideo`, 포트 55173)가 **stopped 상태**였음.
|
||||
- 프론트엔드와 API가 동일 포트(노드 정적 서빙)에서 동작하므로, 서버가 죽으면 `/api/stream/:videoId` 요청이 전부 실패 → 영상 로드 불가.
|
||||
- pm2 error 로그상 과거 `EADDRINUSE`(포트 3030 충돌)로 재시작 실패 이력이 있었고 stopped로 남아 있었음.
|
||||
- 코드(URL 인코딩, Range Request, 한글·괄호 포함 파일명 처리)는 정상.
|
||||
|
||||
## 조치
|
||||
1. `pm2 restart abcVideo --update-env` → online 복구
|
||||
2. 검증
|
||||
- `GET /api/videos` → `하행)회덕-대전조차장.MP4` 반환
|
||||
- `GET /api/stream/...` (Range 0–1MB) → HTTP 206, 1MB 수신
|
||||
- `GET /api/meta/...` → HTTP 200
|
||||
3. `pm2 save`로 프로세스 목록 저장
|
||||
|
||||
## 후속 참고
|
||||
- `FFmpeg not found in PATH` 경고 → HLS 변환/프레임 추출은 FFmpeg 설치 후 동작 (즉시 재생은 영향 없음).
|
||||
- `client/vite.config.ts` 프록시 타깃이 `localhost:3030`인데 실제 서버 포트는 55173.
|
||||
프로덕션 정적 서빙에는 무관하나, Vite 개발 서버(`npm run dev`) 사용 시 API 프록시 불일치로 동작 안 함 → 개발 모드 사용 시 포트 정정 필요.
|
||||
Reference in New Issue
Block a user