move_detect/docs
유창욱 dea12a2931 feat(deck): P0 클립 2종 배치 — 브라우저 재생 형식으로 변환 + 포스터 자동 추출
받은 v01(넘어짐·경광등)·v02(앉기·정상)는 내용상 브리프대로였다. 컨택트
시트로 확인: v01 0.79초 쓰러짐 → 1.58초 경광등 점등 → 유지, v02 4초 내내
경광등 꺼짐. 둘 다 CCTV 앵글, 얼굴 식별 불가.

다만 HEVC(H.265)로 인코딩돼 있어 브라우저가 디코딩하지 못했다. 같은 페이지
같은 브라우저에서 대조:

    HEVC  .mp4  -> readyState 0, videoWidth 0, duration NaN, error 이벤트 없음
    VP9   .webm -> readyState 1+, videoWidth 1600, duration 4.04

서버(Range 미지원 가능성)를 배제하려 blob 으로 통째로 올려도 HEVC 는 같았다.
오류를 내지 않는 실패라 리허설 없이는 회의실에서야 알게 되는 종류다.

docs/deck/prepare_clips.py 신설 — 원본을 VP9/WebM 으로 변환(ffmpeg·openh264
없어 H.264 인코딩 불가, avc1/H264/X264 전부 VideoWriter 열기 실패)하고 클립
자신의 마지막 프레임을 포스터로 뽑는다. 원본 mp4 도 clips/ 에 남겨 두고
build_deck 이 <source> 를 webm→mp4 순으로 내보내 환경에 맞는 쪽이 재생된다.

포스터를 클립에서 뽑는 이유: deck.json 의 포스터는 클립이 없을 때 쓰는 대체
도판이라 클립이 생기면 어긋난다 — 비교 슬라이드에서 좌우 비교 도판이 좌우
패널 각각에 들어가 비교가 두 겹이 됐다.

cv2.imwrite 는 Windows 에서 한글 경로에 쓰지 못한다(예외 없이 False). 이
프로젝트는 파일명이 전부 한글이라 포스터가 조용히 하나도 안 만들어졌다.
imencode + write_bytes 로 우회.

확인하지 못한 것: 재생 진행 여부. 자동화 브라우저 컨텍스트가 디코딩까지만
허용하고 currentTime 이 0 에서 움직이지 않는다(자기가 MediaRecorder 로 만든
WebM 도 동일). 발표 노트북에서 한 번 눌러 확인해야 한다. 재생이 안 되더라도
poster 가 남아 슬라이드가 비지는 않는다.

영상 브리프에 형식 요구(H.264, HEVC 금지)와 변환 절차를 반영. 남은 P1 2종
(v04 구역진입·v05 카메라 건드림) 자리는 계속 스틸로 대체된다.
2026-08-30 22:52:23 +09:00
..
deck feat(deck): P0 클립 2종 배치 — 브라우저 재생 형식으로 변환 + 포스터 자동 추출 2026-08-30 22:52:23 +09:00
images docs(deck): 경영진 보고 덱 + 영상 브리프, 소개서에 도판 11장 배치 2026-08-25 11:03:50 +09:00
superpowers refactor: rename cloud/ to server/ (cafe24 is web hosting, not cloud) 2026-07-20 11:30:52 +09:00
delivery-audit.md fix(audit): 재감사 확정 12건 전량 해소 (CRITICAL 3 · HIGH 3 · MEDIUM 4 · LOW 2) 2026-08-18 10:33:02 +09:00
hardware-bringup.md fix(security,edge,test): close the confirmed audit backlog; add the guards that prevent recurrence 2026-08-07 23:31:53 +09:00
INDEX.md docs(index): 덱·영상 브리프 기록 (9ee3dab) 2026-08-25 11:04:02 +09:00
pilot-runbook.md fix(security,delivery): scope improvement actions by site; correct upgrade procedure 2026-08-07 18:06:32 +09:00
PROJECT_MAP.md docs(deck): 경영진 보고 덱 + 영상 브리프, 소개서에 도판 11장 배치 2026-08-25 11:03:50 +09:00
소개서-이미지-브리프.md docs(brief): 감지 시점 설명 이미지 4종 추가 (§B 신설) 2026-08-24 19:25:15 +09:00
소개서-이미지-브리프2.md docs: 이미지 브리프2(감지 장면 분리) + 영상 보관정책·노조대응 논리 2026-08-24 19:31:28 +09:00
소개서-이미지.json docs(deck): 경영진 보고 덱 + 영상 브리프, 소개서에 도판 11장 배치 2026-08-25 11:03:50 +09:00
영상-브리프.md feat(deck): P0 클립 2종 배치 — 브라우저 재생 형식으로 변환 + 포스터 자동 추출 2026-08-30 22:52:23 +09:00
영상보관-노조대응.md feat(alert): 아무도 발행하지 않던 device_fault·monitoring_degraded 구현 2026-08-25 10:36:48 +09:00
프로젝트-소개서.html docs(deck): 경영진 보고 덱 + 영상 브리프, 소개서에 도판 11장 배치 2026-08-25 11:03:50 +09:00
프로젝트-소개서.md feat(alert): 아무도 발행하지 않던 device_fault·monitoring_degraded 구현 2026-08-25 10:36:48 +09:00