| name | youtube-upload |
| description | YouTube BGM Auto 메인 업로드. 환경음 1시간·8시간 영상 2편을 생성해 자동 업로드하고 재생목록에 분류한다. 사용자가 "오늘 BGM 영상 올려줘", "환경음 업로드 돌려줘", "/youtube-upload" 같이 요청할 때 발동. |
YouTube BGM 메인 업로드
무엇을 하는가
main.py 를 실행한다:
- 28종 음원 중 최근 10편에 안 쓴 것 하나를 랜덤 선택
- Pixabay 에서 배경 동영상(또는 사진) 다운로드
- ffmpeg 로 1시간 영상 생성 + 8시간 영상은 1시간을 8번 루프 복사
- 두 영상의 썸네일 각각 생성
- YouTube 에 두 편 모두 업로드
- 5개 카테고리 재생목록 중 맞는 곳에 자동 추가
소요 시간: 환경에 따라 30~60분.
실행 절차
cd /Users/gaebalai/Workspace2/youtube-bgm-auto
[ -f venv/bin/activate ] && source venv/bin/activate
python3 main.py
자동 사전 점검 (preflight)
python3 main.py 가 시작되면 preflight.py 가 먼저 돌아 아래 항목을 자동 검증한다. 누락 시 친절한 안내 출력 후 종료(실제 업로드는 진행 안 함):
.env.local 파일 존재
- 라이브러리: googleapiclient, google_auth_oauthlib, google.auth, PIL, requests
- 도구: ffmpeg
- OAuth client_secret 파일 존재 (
GOOGLE_CLIENT_SECRET_PATH)
PIXABAY_KEY 환경변수 설정됨
token.pickle 이 없으면 최초 OAuth 인증을 위해 브라우저가 자동으로 열린다.
실패 처리
invalid_grant → upload.py 가 자동으로 토큰 삭제·재인증을 진행한다.
- 썸네일 설정 실패 → 영상은 올라갔으니 YouTube Studio 에서 본인 확인 후 수동 적용.
- 48시간 체크는
run.sh 에만 있고 python3 main.py 직접 실행에는 없음. 강제 실행 OK.