기존 GhiVideo 저장소 HEAD의 트래킹 소스 362개 파일을 복제. (node_modules·storage·빌드 산출물·대용량 미디어는 .gitignore 규칙대로 제외) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
1.3 KiB
1.3 KiB
AI Video Brief — 다운로드 파일명을 "컨텐츠명_스펙"으로 변경
소요 시간: 3분 Context 사용량: input 860k / output 63k tokens (추정값)
요청 내용
음성/영상 저장 시 파일명을 컨텐츠 이름으로 하고, 이름 끝에 "_" 뒤에 화질/음질 스펙을 붙여서 저장.
구현 내용 (ai_video_brief)
app/main.py — download_file() (GET /api/download/{id}):
- 기존:
{안전한제목}{ext} - 변경:
{안전한제목}_{스펙}{ext}- 스펙은
job.result["quality"]에서 공백 제거 ("1080p 24fps"→1080p24fps,"47kbps") - 스펙이 없으면 기존처럼 제목만
- 스펙은
- 제목 안전화 필터에서 불필요한
한문자 제거 (한글은isalnum()으로 이미 통과)
테스트 결과
- ✅ 영상:
Me at the zoo_144p15fps.mp4 - ✅ 음성:
Me at the zoo_47kbps.mp3 - Content-Disposition의
filename*=utf-8''로 한글/유니코드 제목도 정상 처리
참고
- 화질/음질 스펙은 사용자가 선택 패널에서 고른 라벨 기준 (자동 다운로드 경로도 실제 받은 화질을 quality에 기록하므로 스펙이 붙음)
- mp3는 소스 비트레이트를 라벨로 쓰지만 실제 인코딩은 192kbps 고정 (기존 동작, 이번 변경 범위 아님)