b23042andClaude Fable 5 c64c57b58e djmd 프레임 동기·오버레이 지면고정·선형-측점 정합·UI 단축키
- djmd(영상 내장 텔레메트리) 프레임 동기 위치/고도: MP4 stbl 선별 파싱(djmdTrack.ts),
  CSV 시각정렬 오차(평균 3.2m) 제거 — 세그먼트별 백그라운드 정밀화(frameSynced 플래그)
- 자세 시간축 재정렬: djmd 위치 교차상관으로 CSV↔영상 오프셋 자동 추정(실측 -0.33s,
  잔차 0.24m) 후 yaw/pitch/roll 재샘플(yaw 최단각) — 옆 지물 미끄러짐 해소
- 포즈 평활 자동 제한: 프레임 동기 데이터는 ±5프레임 상한(기존 ±60=±1s) —
  회전 시 오버레이 전체가 드론에 딸려오는 지연 제거
- 선형-측점 정합: 측점 위치를 선형 정점으로 삽입(3D 이격≤0.012m) + 정점 z 를 측점
  체이니지 보간으로 재정렬, 측점 라벨 화면 EMA 제거(선과 동일한 즉시 투영) —
  선형이 측점 POI 를 픽셀 단위로 통과
- 드론높이 모드 높이 규칙 통일: 선형도 '드론고도-이격거리' 평면 적용(라벨과 동일)
- 카메라 offZ 잔재 교정: 표고 체계 정비 이전 드래그 보정값(-18.3m)이 이중 보정이 되어
  원거리 POI 가 접근할수록 밀리던 원인 — 경로 1-1 camera.json 0 으로 교정(.bak 백업)
- 로드 UX: 폴더 로드 시 정지 상태로 대기(처음부터), 데이터 교체 시 UI 초기 상태 복원
- 라벨: 측점 팝업 표고(타원체고) 행 추가, 구조물-POI 이중 라벨 제거(어음천교),
  시간동기 보정 슬라이더(timeOffsetSec)
- 측점 표기 0+000 형식 전환(생성 6곳·파서 4곳 신구 호환) + 스테이션바 양끝 100m 내
  시설물 없으면 시작/끝 스테이션 마크
- 단축키: F2 개발자 모드(dev_mode 1↔0, 세션 한정), A 선형 표시 토글
- 인프라: 54000 포트 재부팅 자동화(portproxy 직접 IP + 로그온 갱신, pm2 resurrect)
- docs/history: 작업 이력 23건

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-14 17:59:43 +09:00

abcvideo

2GB 이상 대용량 동영상을 웹 브라우저에서 안정적으로 재생하는 특화 기능 탑재 플레이어.

기능

  • 2GB+ 동영상 안정 재생 (로컬 파일 직접 재생 + 서버 Range Request/HLS)
  • 프레임 단위 추출 (Canvas 즉시 미리보기)
  • 키보드 단축키로 프레임/초/장면 단위 이동
  • 자막형 / 메모형 텍스트 오버레이 + VTT/SRT/JSON/CSV 내보내기
  • HLS 자동 변환 (FFmpeg 설치 시)

사전 요구사항

  • Node.js 20+ LTS
  • FFmpeg (HLS 변환 및 프레임 정확 추출 시 필요)

설치 및 실행

# 1. 의존성 설치
npm install

# 2. 환경변수 설정
cp server/.env.example server/.env

# 3. 개발 서버 실행 (클라이언트 + 서버 동시)
npm run dev

브라우저에서 http://localhost:5173 접속

개발 서버 포트

서비스 포트
클라이언트 (Vite) 5173
백엔드 API 3001

키보드 단축키

동작
Space 재생 / 일시정지
← / → 5초 뒤로 / 앞으로
J / L 10초 뒤로 / 앞으로
, / . 이전 / 다음 프레임 (일시정지 시)
[ / ] ±30초 이동
0 ~ 9 10% 단위 탐색
F 전체화면
M 음소거
+ / - 재생속도 조절
Shift+S 프레임 캡처
Shift+M 메모 추가
? 단축키 도움말

프로젝트 구조

abcvideo/
├── client/          # React 18 + Video.js 8 프론트엔드
├── server/          # Node.js + Express 백엔드
├── shared/          # 공유 TypeScript 타입
└── storage/         # 런타임 생성 (영상, HLS, 프레임)

환경변수 (server/.env)

변수 기본값 설명
PORT 3001 서버 포트
FFMPEG_PATH ffmpeg FFmpeg 실행 경로
MAX_UPLOAD_SIZE 21474836480 최대 업로드 크기 (20GB)
HLS_SEGMENT_TIME 6 HLS 세그먼트 길이 (초)
S
Description
No description provided
Readme
20 MiB
Languages
TypeScript 88%
Python 7.3%
SCSS 3.1%
Shell 0.5%
CSS 0.5%
Other 0.5%