Phase 3: remove "no-talk" gaps (Whisper-segment based, not audio silencedetect
which finds nothing under background music) and render a trimmed (+speed) video
via ffmpeg, with subtitles remapped to match.
- KeepIntervalPlanner + TimelineRemapper (pure, unit-tested): keep/remove plan
from segments (pad/minGap) and timestamp remap f(t)=t-removedBefore(t)
- GET /{id}/trim-plan (preview: keep/remove/remapped segments/kept duration)
- POST /{id}/render (multipart: file,pad,minGap,speed) -> proxy Python /render
(ffmpeg trim/atrim+concat+atempo) -> mp4 download; ffmpeg graph validated locally
- rework.html: export panel (speed + speech-gap trim preview + SRT/video export),
client-side SRT from working segments, language selector (auto/ko/en/zh/ja)
- transcribeFromFile forwards optional language (Whisper auto-detect misfired -> zh)
Spec updated with the audio-silence -> speech-gap design correction.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
||
|---|---|---|
| docs/superpowers | ||
| gradle/wrapper | ||
| src | ||
| .gitignore | ||
| build_log_final.txt | ||
| build_log.txt | ||
| build.gradle | ||
| CLAUDE.md | ||
| gradlew | ||
| gradlew.bat | ||
| README.md | ||
| settings.gradle | ||
h-lab
유튜브 데이터를 수집하고 분석하는 개인용 웹 서비스입니다. Spring Boot 4.x(3.4.0) 기반의 백엔드와 React + Vite 기반의 프론트엔드로 구성되어 있습니다.
🛠 Tech Stack
Backend
- Framework: Spring Boot 3.4.0 (Java 21)
- Database: H2 (Development), JPA
- API Docs: Swagger UI (SpringDoc)
- Architecture: Domain-Driven Design style
Frontend
- Framework: React 18 (Vite)
- Language: TypeScript
- Styling: Vanilla CSS + CSS Variables (Dark Mode)
- State: Zustand
- Charts: Recharts
🚀 How to Run
Backend & Frontend (Integrated)
backend디렉토리로 이동./gradlew bootRun실행 (Windows:gradlew bootRun)- 웹 서비스 접속:
http://localhost:8080- 메인 대시보드:
http://localhost:8080/ - 채널 관리:
http://localhost:8080/channels - Swagger UI:
http://localhost:8080/swagger-ui.html
- 메인 대시보드:
Frontend (Legacy React)
Removed in favor of Thymeleaf Server-Side Rendering
📂 Project Structure
h-lab/
├── src/main/java/com/hlab/yanalyst/
│ ├── domain/ # Domain Entities (Video, Channel...)
│ └── web/ # Web Controllers (Thymeleaf)
│
└── src/main/resources/
├── static/ # CSS, JS
└── templates/ # HTML Templates (Thymeleaf)
✨ Key Features
- Dashboard: 전체 데이터 요약 및 시각화 (Charts)
- Channel Management: 분석 대상 유튜브 채널 관리
- Dark Mode: 눈이 편안한 프리미엄 다크 모드 UI