# AI Video Brief — 온라인 영상 음성다운로드·AI요약 서비스 신규 구축

**소요 시간**: 35분
**Context 사용량**: input 500k / output 20k tokens (추정값)

## 요청 내용

유튜브 등 온라인 영상 URL을 입력하면 ① 음성(mp3) 다운로드 ② 내용 AI 요약을 해주는 서비스 구축.

## 사용자 결정 사항

- 위치: 별도 새 프로젝트 `/home/hanmac/projects/gitea/b23042/ai_video_brief`
- 텍스트 확보: **자막 우선, 없으면 Whisper 음성인식 대체**
- 요약 AI: **로컬 무료 모델 (Ollama)** — 유료 API 대신
- 형태: 웹 화면

## 구축 내용

### 스택
- Python 3.10 venv (`/usr/bin/python3.10` — anaconda 3.8은 구버전이라 회피)
- FastAPI + uvicorn (포트 **55100**, GhiVideo 55000과 충돌 없음)
- yt-dlp 2026.7.4 (다운로드·자막), faster-whisper 1.2.1 (small/CPU/int8)
- Ollama v0.31.1 + **exaone3.5:7.8b** (LG 한국어 특화 모델, 4.8GB)

### 파이프라인
1. `download`: yt-dlp → bestaudio → ffmpeg mp3 변환 → 다운로드 링크
2. `summarize`: 자막(수동→자동, ko→en) 탐색 → 없으면 mp3 다운로드 후 Whisper 받아쓰기 → 6,000자 초과 시 부분요약→최종요약(map-reduce) → EXAONE 한국어 요약
3. 작업은 백그라운드 스레드 + 웹에서 1.5초 폴링으로 진행률 표시

### 특이사항 (다음 에이전트 참고)
- **sudo 사용 불가** (비밀번호 필요) → python3.10-venv apt 설치 실패 → `pip install --user virtualenv`로 우회
- Ollama 최신 릴리스는 `.tgz`가 아닌 **`.tar.zst`** 형식 → anaconda의 zstd로 해제, `~/ollama/bin/ollama`에 수동 설치 (systemd 서비스 없음, run.sh가 자동 기동)
- GPU 없음 → Whisper·Ollama 모두 CPU 동작 (RAM 31GB로 충분)

## 테스트 결과

- ✅ mp3 다운로드: 19초 영상 → 0.4MB mp3 정상 생성
- ✅ Whisper 받아쓰기: 19초 영상 정확히 전사
- ✅ 요약 전 과정: 자막 발견 → EXAONE 한국어 요약 생성 (약 10초 소요)
- ✅ 웹 화면 http://localhost:55100 정상 서빙

## 실행 방법

```bash
cd /home/hanmac/projects/gitea/b23042/ai_video_brief && ./run.sh
# 브라우저: http://localhost:55100
```
