CVF Phase 3 고도화 완료
개요
CVF (Crowny Video Format) v1.0 기반 video.crowny.org의 3대 영역을 고도화했다. 24파일 10,865줄, 한선씨 동반 12파일 전부 컴파일 성공.
Phase 3-1: 웹 플레이어 UI 고도화
- 대시보드: 영상 수, 총 용량, 총 재생시간, 활성 작업 실시간 표시 (
/api/stats) - 플레이어 컨트롤: 볼륨 슬라이더, 재생 속도 0.25x~2x, PiP 모드, 키보드 단축키 12종
- 영상 디테일 모달: 전체 메타데이터(해상도/FPS/색상/프레임수/태그/유효성) 조회
- 큐 관리: 완료 작업 일괄 정리, 옵션 토글 active 상태 표시
- 파일:
public/index.html(557→901줄),server.js(+20줄 /api/stats)
Phase 3-2: 실시간 스트리밍 고도화
- Range GOP fetch:
/gop/:videoId/:start-:end— 다수 GOP 일괄 프리페치 - 라이브 SSE:
/live/:videoId— 실시간 GOP 푸시 (인코딩 중 실시간 재생) - CTPBufferManager: 클라이언트 GOP 버퍼 풀, 프리페치 3개 ahead, 최대 10개 캐시, 네트워크 속도 측정
- 통계 엔드포인트:
/stats— 전체 영상 통계 - 파일:
lib/ctp-stream.js(663→956줄),lib/CTP스트리밍.한선(262→410줄)
Phase 3-3: DRM 보호 시스템
- 암호화: XOR 스트림 암호화 (헤더 평문 유지, 본문만 암호화), CDRM 매직 + SHA256 키ID
- 라이선스: 생성/검증/폐기, SHA256 서명, 만료 시간, 4단계 권한(미리보기/표준재생/다운로드/재배포)
- 워터마크: WUUU 마커 기반 프레임 워터마크, 3프레임마다 삽입, 사용자ID SHA256 해시 추적
- API 8종:
/api/drm/info,/api/drm/encrypt,/api/drm/license(CRUD),/api/drm/watermark,/api/drm/detect - 파일:
lib/CVF보안.한선(332줄, 컴파일OK),lib/cvf-drm.js(336줄),server.js(+100줄 DRM라우트)
관련 파일
/Users/ef/crowny-video/public/index.html— 웹 플레이어 UI/Users/ef/crowny-video/server.js— 비디오 서버 (1714줄)/Users/ef/crowny-video/lib/ctp-stream.js— CTP 스트리밍 (956줄)/Users/ef/crowny-video/lib/cvf-drm.js— DRM 라이브러리 (336줄)/Users/ef/crowny-video/lib/CVF보안.한선— DRM 한선씨 동반 (332줄)/Users/ef/crowny-video/lib/CTP스트리밍.한선— 스트리밍 한선씨 동반 (410줄)
잔여 이슈
- DRM 마스터키: 현재
CVF_DRM_KEY환경변수 또는 런타임 랜덤 생성 → 프로덕션에서는 고정 키 설정 필요 - PiP: canvas.captureStream() 기반 — Safari에서 제한적 지원
- 라이브 스트리밍: SSE 연결 관리 (클라이언트 연결 끊김 시 정리) 추가 검증 필요