Files
GhiVideo/docs/history/2026-07-07_1600_AI영상요약-화질음질-선택다운로드.md
T
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

2.0 KiB

AI Video Brief — 화질/음질 선택 다운로드 기능 추가

소요 시간: 9분 Context 사용량: input 780k / output 58k tokens (추정값)

요청 내용

다운로드 가능한 영상 해상도들을 항목으로 보여주고 클릭 시 그 화질로 다운로드. 음성도 품질 목록을 보여주고 사용자가 선택.

구현 내용 (ai_video_brief)

백엔드

  • downloader.list_formats(url) — 유튜브 제공 포맷을 조회해 영상: (해상도, fps) 조합별 대표 1개 (video-only 우선 + 코덱 우선순위 av01>vp9>avc1, 예상 크기 포함) 음성: 비트레이트별 대표 1개 (kbps, 확장자, 예상 크기)
  • GET /api/formats?url=... — 선택 화면용 목록 API
  • POST /api/jobs 확장: format_id(선택 스트림), video_only(병합 필요 여부), quality_label(표시용)
  • download_video: format_id 지정 시 {fid}+bestaudio/... 폴백 체인, 진행형(소리 포함) 스트림은 {fid}/best
  • download_audio: format_id 지정 시 해당 스트림 → mp3 변환

웹 화면

  • 🎬/🎵 버튼 클릭 → 즉시 다운로드 대신 품질 선택 패널 표시
    • "품질 목록을 가져오는 중…" 로딩 → 항목 목록 (최상단 항목에 "추천" 배지)
    • 영상: "1080p 24fps · av01 · 약 537MB", 음성: "129kbps · m4a · 약 56MB" 형식
    • 항목 클릭 → 그 품질로 다운로드 시작, 닫기 버튼으로 취소
  • 완료 후 링크에 선택/실제 품질 표시

테스트 결과

  • 목록 API: DJI 영상 → 영상 8개(144p~4K, 크기 포함) / 음성 4개 정상
  • 영상 선택 다운로드: 144p 15fps 선택 → ffprobe로 정확히 144p/15fps 수신 확인
  • 음성 선택 다운로드: 47kbps 선택 → 완료, 품질 라벨 표시 확인

다음 에이전트 참고

  • 4K 등 1080p 초과 화질도 이제 선택 패널에서 받을 수 있음 (VIDEO_MAX_HEIGHT는 '자동 최고' 경로에만 적용)
  • 영상 항목의 예상 크기는 영상 스트림만의 크기 (소리 병합 시 소폭 증가) — "약" 표기로 처리