1. 소개
프로젝트 개요
- 이 프로젝트는 Python 기반으로 YouTube shorts 콘텐츠 지자동 생성, 편집, 업로드 시스템을 개발한다
- 시스템은 대본 수정, 자막 추가, 음성 합성, 영상 편집, 최종 영상 생성 및 자동 업로드 기능을 포함한다
Objective
- ’타겟 레퍼런스’ 수준의 퀄리티를 갖춘 YouTube Shorts Generation System을 구축하여
자동으로 수익을 창출하는 시스템 MVP를 완성한다
타겟 레퍼런스
Key Results
-
- 하루 3회 쇼츠 영상을 자동으로 생성 및 스케줄링하는 시스템 개발 및 배포
-
- 시스템 로그와 모니터링 툴을 통해 자동화 시스템의 성공률을 95% 이상 유지
-
- 다양한 콘텐츠 유형(텍스트, 이미지, 동영상)을 처리할 수 있도록 확장 가능하게 설계
- 기존 기능 유지하면서 새로운 컴포넌트를 1주 내 통합 가능하도록 설계
프로젝트 범위(Scope)
- 대본 수정 및 보완
- 자막 추가
- 영상 소스 관리 (시각 / 청각)
- 음성 합성 (TTS)
- 영상 편집 및 결합
- 최종 동영상 생성
- 유튜브 자동 업로드
- 스케줄링 및 자동 실행
2. 기능적 요구사항
2-1) 대본 수정 및 보완
- 다양한 형식의 파일을 지원한다
- 텍스트 파일, 마크다운 파일 등 다양한 파일 형식을 지원한다
- 다양한 입력 경로를 지원한다
- 로컬 및 클라우드(아이클라우드) 경로에서 대본 파일을 가져올 수 있다
- 대본 길이 조정이 가능하다
- 대본을 유튜브 쇼츠 길이에 맞춰 40-50초 사이로 조정한다
- 톤앤매너 변경을 지원한다
- 다양한 톤앤매너 설정을 통해 말투를 변경할 수 있다
- 스토리텔링 프레임워크 적용이 가능하다
- LLM을 통해 대본을 다양한 스토리텔링 프레임워크로 수정 가능하다
- 스토리텔링 프레임워크 예시 : 하몬써클(harmon circle)
2-2) 자막 추가
- 자막 생성: 최종 대본을 적절한 길이로 잘라 동영상에 자막 추가
- 동기화: TTS 음성과 자막이 정확하게 동기화되도록 구현
2-3) 시각 소스 관리
- 다양한 입력 경로를 지원한다
- 이미지 및 동영상 파일 등 다양한 파일 형식을 지원하며,
로컬 및 클라우드 경로에서 가져올 수 있음
- 소스 이미지 자체 생성이 가능하다
- API를 통해 이미지 생성 AI 모델을 사용하여 이미지를 생성하고 삽입할 수 있음
2-4) 음성 합성 (TTS)
- TTS : API를 통해 얻은 TTS Output 또는 로컬의 오디오 파일 사용 가능
2-5) 배경음악 추가
- 음악 파일: 미리 준비된 오디오 파일 또는 웹에서 바로 다운하여 사용 가능
2-6) 최종 동영상 생성
- 영상 렌더링: 편집된 모든 요소를 결합하여 최종 동영상 렌더링
2-7) 유튜브 자동 업로드
- 자동 업로드: 최종 동영상을 유튜브에 자동으로 업로드
- 메타데이터 설정: 동영상 제목, 설명, 태그 등의 메타데이터를 설정 파일에서 불러와 적용
2-8) 스케줄링 및 자동 실행
- 주기적 실행: 설정된 스케줄에 따라 하루 3회 쇼츠 영상을 자동으로 생성 및 업로드
- 로그 기록: 각 작업의 진행 상황과 결과를 로그 파일에 기록
3. 비기능적 요구사항
3-1) 확장성
- 모듈화 설계: 각 기능을 모듈화하여 쉽게 교체하거나 확장 가능하도록 설계
- 설정 파일 사용: 설정 파일을 통해 TTS 모델, 영상 소스, 업로드 스케줄 등의 설정을 쉽게 변경 가능
3-2) 사용성
- 직관적 인터페이스: 최소한의 학습으로 사용할 수 있는 직관적인 인터페이스 제공
- 에러 메시지: 사용자 친화적인 에러 메시지 제공
3-3) 유지보수성
- 코드 문서화: 각 모듈과 함수에 충분한 주석과 문서를 제공하여 유지보수를 용이하게 함
- 테스트 케이스: 각 기능에 대한 단위 테스트 작성하여 기능의 정확성 검증 및 향후 변경 시 회귀 테스트 가능
연결 문서