← 목록
기타 2026-05-19 3KB 읽기 3분

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 연결 관리 (클라이언트 연결 끊김 시 정리) 추가 검증 필요