GhiVideo 소스 복제 — v4 작업 시작 기준

기존 GhiVideo 저장소 HEAD의 트래킹 소스 362개 파일을 복제.
(node_modules·storage·빌드 산출물·대용량 미디어는 .gitignore 규칙대로 제외)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-09 14:32:51 +09:00
co-authored by Claude Fable 5
commit d38b842e8d
362 changed files with 46358 additions and 0 deletions
@@ -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 01MB) → 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 프록시 불일치로 동작 안 함 → 개발 모드 사용 시 포트 정정 필요.