1. 소개

프로젝트 개요

  • 이 프로젝트는 Python 기반으로 YouTube shorts 콘텐츠 지자동 생성, 편집, 업로드 시스템을 개발한다
  • 시스템은 대본 수정, 자막 추가, 음성 합성, 영상 편집, 최종 영상 생성 및 자동 업로드 기능을 포함한다

Objective

  • 타겟 레퍼런스’ 수준의 퀄리티를 갖춘 YouTube Shorts Generation System을 구축하여 자동으로 수익을 창출하는 시스템 MVP를 완성한다

타겟 레퍼런스

  • 자동 컨텐츠로 분류되어 노출되지 않는 제재를 받지 않음 (정상 노출 가능)
  • 구체적으로, Youtube Shorts 썰 채널 reference 퀄리티를 기준으로 함

Key Results

    1. 하루 3회 쇼츠 영상을 자동으로 생성 및 스케줄링하는 시스템 개발 및 배포
    1. 시스템 로그와 모니터링 툴을 통해 자동화 시스템의 성공률을 95% 이상 유지
    1. 다양한 콘텐츠 유형(텍스트, 이미지, 동영상)을 처리할 수 있도록 확장 가능하게 설계
    • 기존 기능 유지하면서 새로운 컴포넌트를 1주 내 통합 가능하도록 설계

프로젝트 범위(Scope)

  • 대본 수정 및 보완
  • 자막 추가
  • 영상 소스 관리 (시각 / 청각)
  • 음성 합성 (TTS)
  • 영상 편집 및 결합
  • 최종 동영상 생성
  • 유튜브 자동 업로드
  • 스케줄링 및 자동 실행

2. 기능적 요구사항

2-1) 대본 수정 및 보완

  • 다양한 형식의 파일을 지원한다
    • 텍스트 파일, 마크다운 파일 등 다양한 파일 형식을 지원한다
  • 다양한 입력 경로를 지원한다
    • 로컬 및 클라우드(아이클라우드) 경로에서 대본 파일을 가져올 수 있다
  • 대본 길이 조정이 가능하다
    • 대본을 유튜브 쇼츠 길이에 맞춰 40-50초 사이로 조정한다
  • 톤앤매너 변경을 지원한다
    • 다양한 톤앤매너 설정을 통해 말투를 변경할 수 있다
  • 스토리텔링 프레임워크 적용이 가능하다
    • LLM을 통해 대본을 다양한 스토리텔링 프레임워크로 수정 가능하다
      • LLM은 API 및 로컬 선택 가능하다
    • 스토리텔링 프레임워크 예시 : 하몬써클(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) 유지보수성

  • 코드 문서화: 각 모듈과 함수에 충분한 주석과 문서를 제공하여 유지보수를 용이하게 함
  • 테스트 케이스: 각 기능에 대한 단위 테스트 작성하여 기능의 정확성 검증 및 향후 변경 시 회귀 테스트 가능

연결 문서