목표: 주제를 입력하면 AI가 이미지/비디오, 음성, 자막을 생성하고, 정해진 틀 안에서 자동 편집하여 홍보용 숏츠 영상을 제작
특징: 로컬 실행, 실시간성 불필요, 개인용 어플리케이션
고민 사항:
이미지/비디오를 직접 준비할지, AI로 생성할지 결정
적합한 TTS 및 ASR 모델 선정
AI 생성 이미지/비디오가 앱 홍보에 적합한지 여부
현재 정해야 할 사항
프로세스에서 이미지와 비디오를 직접 준비할지, AI에게 맡길지 결정
TTS와 ASR 모델 선정
모델 선택 시 고려사항
환경: 로컬, 개인용 어플리케이션
실시간성: 불필요, 결과물 생성 완료면 충분
컴퓨터 사양: RTX 3060 Ti, 32GB RAM, Ryzen 5 7600
폴더 구조
my_ai_shorts_generator/
├── main.py # 메인 실행 스크립트
├── configs/ # 다양한 영상 스타일 및 프로젝트 설정을 위한 폴더
│ ├── default_style_config.json # 기본 영상 스타일 설정
│ └── app_promo_A_config.json # '앱 홍보 A' 프로젝트용 특정 설정
├── core/ # 핵심 로직 모듈
│ ├── video_processor.py # 비디오 클립 처리, 편집, 렌더링 (MoviePy, OpenCV 등)
│ ├── audio_processor.py # 오디오 믹싱, 효과, 노이즈 감소 (Pydub, Librosa, noisereduce 등)
│ ├── text_to_speech.py # TTS 기능 (Piper TTS, Coqui TTS, Edge-TTS 등 연동)
│ ├── speech_to_text.py # ASR (자동 자막 생성) 기능 (OpenAI Whisper 등 연동)
│ ├── subtitle_handler.py # 자막 파일 처리 및 영상에 렌더링 (pysrt, MoviePy TextClip)
│ └── utils.py # 공통 유틸리티 함수 (파일 I/O, 로깅 등)
├── assets/ # 프로젝트에 사용될 원본 및 생성된 에셋
│ ├── input_videos/ # 원본 비디오 클립 폴더
│ │ └── project_app_A/ # 프로젝트별 하위 폴더 (선택 사항)
│ │ ├── feature_showcase_1.mp4
│ │ └── app_screen_record.mp4
│ ├── input_audio/ # 배경 음악, 효과음 등
│ │ └── background_music_upbeat.mp3
│ ├── fonts/ # 자막 등에 사용될 폰트 파일
│ │ └── NanumGothicBold.ttf
│ └── generated_temp/ # TTS로 생성된 오디오, ASR로 생성된 자막 파일 등 임시 저장
│ ├── tts_output_project_A.wav
│ └── subtitles_project_A.srt
├── models/ # 로컬에서 실행할 AI 모델 파일 (선택 사항)
│ ├── tts/ # 예: Piper TTS 모델 파일
│ │ └── en_US-amy-medium.onnx
│ └── asr/ # 예: Whisper 모델 파일
│ └── base.pt
├── output/ # 최종 생성된 숏폼 영상 저장 폴더
│ └── app_promo_A_final_short.mp4
├── scripts/ # 유틸리티 스크립트 (모델 다운로드, 배치 처리 등 - 선택 사항)
│ └── download_models.sh
├── tests/ # 단위 테스트 및 통합 테스트 코드 (선택 사항)
│ ├── test_video_processor.py
│ └── test_audio_processor.py
├── README.md # 프로젝트 설명, 설정 방법, 실행 방법 등
└── requirements.txt # Python 패키지 의존성 목록