- 발표자료(좌표투영·측점기반재생) 갱신 + 그림/PDF - 특허 출원 초안 및 도면 - AI 영상요약 서비스 작업기록(docs/history) - 관련 scripts 추가 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
40 lines
2.1 KiB
Markdown
40 lines
2.1 KiB
Markdown
# AI Video Brief — 다운로드 기록 목록 + 다시 받기 기능
|
|
|
|
**소요 시간**: 12분
|
|
**Context 사용량**: input 960k / output 72k tokens (추정값)
|
|
|
|
## 요청 내용
|
|
|
|
음악이든 영화든 다운로드 받았던 것을 히스토리 목록으로 저장해 다시 받을 수 있게.
|
|
|
|
## 구현 내용 (`ai_video_brief`)
|
|
|
|
### 백엔드
|
|
- `db.py`: `downloads` 테이블 신규 (id, video_id, url, title, kind, quality, format_id, video_only, size_mb, created_at)
|
|
- `save_download()` — 같은 (video_id/url, kind, quality)면 옛 기록 지우고 갱신(중복 방지)
|
|
- `list_downloads()` / `get_download()` / `delete_download()`
|
|
- `main.py`:
|
|
- 다운로드 완료 시 `_save_download_record()` 로 기록 저장 (음성/영상 파이프라인 둘 다)
|
|
- `GET /api/downloads` — 기록 목록 + 각 항목 `file_exists`(파일이 아직 디스크에 있는지) 계산
|
|
- `DELETE /api/downloads/{id}` — 기록 + 저장 파일 함께 삭제
|
|
- `download_file()` 개선 — 메모리 작업이 없으면(서버 재시작 등) DB 기록에서 제목/품질 가져와 파일명 생성
|
|
|
|
### 웹 화면
|
|
- 좌측에 "⬇️ 다운로드 기록" 카드 추가 (요약 보관함 아래)
|
|
- 항목: 🎬/🎵 + 제목 + 품질 + 날짜 + 크기, 파일 없으면 "파일없음" 표시
|
|
- 파일 있으면 ⬇️(즉시 저장, 직접 링크), 없으면 🔄(저장했던 품질 그대로 다시 받기)
|
|
- ✕ 버튼: 기록+파일 삭제
|
|
- 다운로드 작업 완료 시 기록 목록 자동 새로고침
|
|
|
|
## 테스트 결과
|
|
|
|
- ✅ 영상 다운로드 → 기록에 저장 (제목/품질/크기/파일있음=True)
|
|
- ✅ 파일 강제 삭제 → file_exists=False 로 전환, format_id/video_only 보존(다시받기 가능)
|
|
- ✅ DELETE → 기록·파일 삭제 확인
|
|
- ✅ 화면에 다운로드 기록 UI 정상 렌더
|
|
|
|
## 다음 에이전트 참고
|
|
|
|
- "다시 받기"는 파일이 있으면 즉시 저장, 없으면 저장된 format_id로 유튜브에서 재다운로드 (새 job id로 새 파일 생성 → 기록은 dedupe로 갱신)
|
|
- 다운로드 기록과 요약 보관함은 별도 테이블 (downloads vs summaries)
|