Commit Graph

4 Commits (f24818860b79f6fdded02dceca34bcccd3371cef)

Author SHA1 Message Date
jwkim f24818860b fix(render): 떨림 제거 + 자막 자동축소 + 공유폰트 인식 (shorts_all 동기화)
- Ken Burns 떨림 제거: zoompan 입력 업스케일 1.2→4배 + flags=lanczos.
  정수픽셀 반올림 흔들림 소멸(측정: 세로 튐 47→0회/60f).
- 자막 자동 축소: 나레이션이 밴드 높이를 넘치면 폰트를 NARR_MIN_SIZE(30)까지
  단계 축소 후 흰 밴드 안에만 렌더(아래 그림 침범 방지).
- 폰트 경로 견고화(_find_font): per-engine fonts/ 우선, 없으면 상위 공유
  generator/fonts/ 사용 → ssulbox 공유폰트 레이아웃에서도 주아체 정상 로드.
  (shorts_all/ssulbox render.py 3종 동일 유지)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-15 09:05:57 +09:00
jwkim 061d6b36b8 fix: 네이버 가게명 추출(og:title) + 뷰어 재생바 노출 + 생성 진행 UI 단순화
- naver.py: span.GHAhO 난독 클래스 변경으로 가게명이 'AI 브리핑'으로
  잘못 잡히던 버그 수정. og:title 메타 우선 추출(_store_name/_clean_store),
  섹션명·'네이버' 포함값 배제. 브리핑·사진 크롤 양쪽 적용.
- 뷰어: 하단 제목/설명 오버레이가 네이티브 재생바를 가리던 문제 →
  56px 위로 올리고 pointer-events:none 으로 탐색바 조작 가능하게.
- 생성 진행: 시나리오/가게/로그 등 제거, '영상 생성 중' + 진행바 + 퍼센트만.
  step(0~4)→% (완료 전 96% 상한, 완성 100%), shimmer 애니메이션.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-08 16:56:06 +09:00
jwkim 39483e2bfb feat: 완성 mp4 Azure Blob 저장(ADO2 계정 재사용) + 로컬 자동정리
- blob_client: SDK 없이 aiohttp+SAS로 PUT 업로드, 공개 URL 반환(실패 시 None)
- content_sync: 새 영상 발견 시 블롭 업로드 → Content.video에 공개 URL,
  DB 커밋 성공 후 로컬 output job 폴더 삭제(OUTPUT_DIR 하위 안전장치)
- SAS 미설정 시 기존 로컬 /videos fallback 유지
- 경로 ssulbox/ 프리픽스로 ADO2 콘텐츠와 격리
- config/.env.example: AZURE_BLOB_BASE_URL/SAS_TOKEN/PREFIX 추가(실 SAS는 .env, 미커밋)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-08 15:26:43 +09:00
jwkim 9ab618db10 init: 썰박스(SSULBOX) 마케팅 쇼츠 플랫폼
- frontend: React+Vite+TS+Tailwind (모바일 우선 인스타형 피드/뷰어/채널)
- backend: FastAPI + SQLAlchemy async + SQLite, 카카오 로그인/유튜브 연동/크레딧
- generator: 네이버 크롤 기반 AI 쇼츠 생성기(애니메이션 3종)
- 시크릿(.env)·DB·node_modules·output·bgm 은 커밋 제외

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-08 14:55:47 +09:00