재가공 화면 '원본 다운로드' 버튼으로 저장된 videoId를 yt-dlp(로컬 ProcessBuilder)로
받아 서버에 캐시하고, 그 파일을 기존 Python /transcribe·/render 에 그대로 투입한다.
수동 다운로드+업로드 단계를 전사·렌더 양쪽에서 제거.
- VideoDownloadService 신규: 인자 리스트 ProcessBuilder(셸 미사용), videoId 검증, 캐시 조회
- ChannelService: 전사·렌더를 Resource 기반 공통 메서드로 추출(업로드/캐시 공유)
- 컨트롤러: POST /{id}/download(다운로드+전사), /render 의 file 을 선택값으로(없으면 캐시)
- rework.html: '원본 다운로드' 버튼 + downloadOriginal(), 렌더가 서버 캐시 재사용
- 설정 ytdlp.*/download.dir(기본값 有), downloads/ gitignore
- buildCommand/videoId 검증 단위테스트(src/test 신규)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
24 lines
289 B
Plaintext
24 lines
289 B
Plaintext
# Build
|
|
/build/
|
|
/.gradle/
|
|
bin/
|
|
out/
|
|
|
|
# IDE
|
|
.idea/
|
|
*.iml
|
|
.vscode/
|
|
|
|
# Secrets (DO NOT COMMIT)
|
|
src/main/resources/credentials.json
|
|
src/main/resources/application-local.yml
|
|
tokens/
|
|
*.log
|
|
|
|
# yt-dlp 다운로드 캐시(영상 파일은 커밋하지 않음)
|
|
/downloads/
|
|
|
|
# OS
|
|
.DS_Store
|
|
Thumbs.db
|