Files
GhiVideo/docs/history/2026-07-07_1551_AI영상요약-프레임질문-원본24fps확인-화질표시추가.md
b23042andClaude Opus 4.8 fe25ce00f1 docs: 발표·특허·AI영상요약 자료 및 작업기록 추가
- 발표자료(좌표투영·측점기반재생) 갱신 + 그림/PDF
- 특허 출원 초안 및 도면
- AI 영상요약 서비스 작업기록(docs/history)
- 관련 scripts 추가

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-09 11:20:03 +09:00

34 lines
2.0 KiB
Markdown

# AI Video Brief — "왜 60프레임이 아니냐" 질문 조사 + 화질/프레임 표시 추가
**소요 시간**: 10분
**Context 사용량**: input 720k / output 52k tokens (추정값)
## 질문
저장한 동영상이 60fps가 아니라 30fps 정도밖에 안 되는 이유.
## 조사 결과 (결론: 다운로드 문제 아님, 원본이 24fps)
- ffprobe로 저장 파일 확인: 사용자가 받은 영상들은 1080p **23.98fps**(AV1), 1920x960 **29.97fps**
- 해당 영상("1시간으로 끝내는 DJI 미니 5 프로 사용 설명서", oItten2naxk)의 유튜브 제공 포맷 전수 조사:
144p~2160p(4K) **전부 24fps만 존재** — 원본이 24fps로 업로드된 영상
- 유튜브는 원본보다 높은 프레임을 생성하지 않으므로 60fps는 불가능. 다운로더는 제공되는 최고 품질(1080p24)을 정상적으로 받았음
- 추가 발견: 이 영상은 4K까지 제공되지만 기본 상한 `VIDEO_MAX_HEIGHT=1080`이라 1080p로 받음 (환경변수로 조정 가능)
## 보완 구현
1. `downloader.download_video()` — 포맷 선택에서 `ext=mp4` 코덱 제한 제거
(`bestvideo[height<=H]+bestaudio` → mp4 통에 병합). vp9만 60fps를 제공하는 옛 영상도 프레임을 놓치지 않게.
반환값을 `(경로, {height, fps})` 튜플로 변경.
2. `main.py``result["quality"]`에 "1080p 24fps" 형식 저장
3. 웹 화면 — 다운로드 완료 링크에 실제 받은 화질/프레임 표시: "⬇️ mp4 저장 (240p 15fps · 0.5MB)"
## 테스트
- ✅ 테스트 영상 다운로드 → "240p 15fps · 0.5MB" 정확히 표시 (2005년 저화질 영상이라 정상)
## 다음 에이전트 참고
- 사용자가 프레임/화질 관련 질문 시: 먼저 `ffprobe`로 저장 파일 확인 → yt-dlp `extract_info`로 유튜브 제공 포맷 목록과 비교. 원본 fps 이상은 어떤 방법으로도 불가능.
- 4K로 받고 싶다는 요청이 오면 `VIDEO_MAX_HEIGHT=2160` 환경변수 (run.sh 실행 전 export).