Y2A-Auto
요약
YouTube 영상을 AcFun 및 bilibili로 자동 업로드하는 통합 자동화 도구입니다. 다운로드, ASR, 자막 번역, AI 기반 메타데이터 생성, 콘텐츠 심사 및 업로드까지의 전 과정을 자동화된 파이프라인으로 처리합니다.
핵심 포인트
- yt-dlp, Whisper 등을 활용한 영상 다운로드 및 음성 인식 자동화
- AI 기반 제목, 설명, 태그 추천 및 콘텐츠 안전 심사 기능
- Web 백엔드를 통한 작업 관리 및 YouTube 채널 모니터링 지원
- CookieCloud를 통한 계정 쿠키 자동 동기화 및 보안 관리
- Docker 기반 배포 권장 및 다양한 하드웨어 인코딩 지원
![]()
YouTube 영상을 AcFun / bilibili로 자동 업로드하는 통합 도구입니다.
다운로드, ASR (자동 음성 인식), 자막 번역, 자막 품질 검사(QC), 콘텐츠 심사부터 업로드까지 전 과정을 자동화합니다. Web 관리 백엔드, YouTube 모니터링 및 유지 관리 기능을 내장하고 있습니다.
빠른 시작 · 기능 개요 · 배포 및 실행 · 설정 설명 · 사용 가이드 · 알림 푸시 · CookieCloud · 보안 기능 · 자주 묻는 질문
Telegram 전달 봇 (체험판):
@Y2AAuto_bot
자체 배포 버전: Y2A-Auto-tgbot
이상은 현재 페이지의 스크린샷입니다.
| 기능 모듈 | 설명 |
|---|---|
| 전 과정 자동화 | 다운로드, ASR, 자막, 메타데이터부터 업로드까지 원스톱 처리 |
| ... |
-
자동화 파이프라인
yt-dlp -
영상 및 커버 이미지 다운로드
-
자동 또는 필요에 따른 음성 인식 자막 생성, Whisper, Voxtral 지원
-
자막 번역, 자막 후처리, 자막 품질 검사 (QC) 및 자막 인코딩 (Burn-in)
-
AI 기반 제목, 설명, 태그 및 카테고리 추천 생성
-
콘텐츠 안전 심사 (Alibaba Cloud Green)
-
AcFun / bilibili / 양쪽 플랫폼 자동 업로드
-
Web 관리 백엔드
-
작업 목록, 수동 심사, 강제 업로드
-
설정 센터 그룹 관리: 실행 개요, 계정 및 네트워크, 콘텐츠 심사, AI 모델, 자막 처리, 음성 인식, 영상 트랜스코딩, 모니터링 및 유지 관리, 보안
-
로그인 보호, 오류 횟수 잠금 및 비밀번호 관리
-
YouTube 모니터링
-
채널 모니터링 및 키워드 검색 모니터링
-
latest / historical 모드 지원, 영상 유형 필터링 및 작업 큐 자동 추가
-
내장 히스토리 및 설정 파일 복구
-
알림 푸시
-
企业微信 (WeCom), Server酱, message-pusher 세 가지 채널
-
작업 추가 / 완료 / 실패, 로그인 성공 / 잠금, QR 로그인 성공 / 실패 등 이벤트 푸시
-
비동기 재시도 큐, 간격 증가를 통한 전송 보장
-
CookieCloud 통합
-
CookieCloud 서비스를 통해 YouTube / Google Cookies 자동 가져오기
-
auto / legacy / aes-128-cbc-fixed 암호화 모드 지원
-
Web UI에서 원클릭 테스트 및 동기화
-
자막 변환 엔진
-
긴 문장 자동 분할, 문장 부호 표준화, 채움말 / 반복어 필터링
-
환각(Hallucination) 텍스트 및 노이즈 태그 탐지, 텍스트 밀도 과다 탐지
-
시간 오프셋, 최소 지속 시간, 인접 간격 병합 등 후처리
-
영상 트랜스코딩
-
CPU / NVIDIA / Intel / AMD 하드웨어 인코딩 지원
-
기본적으로 HEVC / H.265 우선 사용, 실패 시 H.264로 자동 전환
-
플랫폼 인증
-
AcFun / bilibili QR 코드 스캔 로그인 지원
-
bilibili Cookie 가져오기 지원 (Netscape / JSON 형식)
-
유지 관리 및 환경
-
Windows에서 FFmpeg 자동 보충
-
로그 정리, 다운로드 정리 및 사용자 정의 FFmpeg 경로 지원
Y2A-Auto/
├── app.py
├── requirements.txt
...
Docker 사용을 권장합니다 (Python, FFmpeg, yt-dlp를 수동으로 설치할 필요가 없습니다).
- Cookie 준비 (필수)
cookies/yt_cookies.txt: YouTube 로그인 Cookie
cookies/ac_cookies.json: AcFun 로그인 Cookie
cookies/bili_cookies.json: bilibili 로그인 Cookie
-
브라우저 확장 프로그램을 사용하여
cookies.txt를 내보낼 수 있습니다. -
주의:
cookies.txt를 저장소에 커밋하지 마세요. -
서비스 시작
# 기본적으로 Docker Hub에서 fqscfqj/y2a-auto:latest 이미지를 가져옵니다.
# GitHub 컨테이너 레지스트리를 사용하려면 ghcr.io/fqscfqj/y2a-auto:latest로 전환할 수 있습니다.
docker compose up -d
-
Web 접속
-
접속 주소
http://localhost:5000 -
처음 접속 시 로그인 보호, 플랫폼 계정 및 YouTube Cookie를 먼저 설정하는 것을 권장합니다.
기본 영구 저장 디렉토리: config/, db/, downloads/, logs/, temp/, cookies/.
설명: fonts/ 디렉토리의 폰트는 자막 인코딩을 위해 프로젝트에 내장된 종속성입니다. 라이선스는 fonts/LICENSE.txt를 참조하세요.
-
시작:
docker compose up -d -
중지:
docker compose down -
재시작:
docker compose restart -
로그 확인:
docker compose logs -f
로컬에서 이미지를 빌드하려면 다음을 사용할 수 있습니다:
docker compose -f docker-compose-build.yml up -d --build
사전 요구 사항:
- Python 3.11+
- FFmpeg
- yt-dlp
py -3.11 -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r requirements.txt
...
http://127.0.0.1:5000에 접속하세요.
build-tools/
Windows 실행 파일 빌드 도구를 제공합니다. - 공식 Windows Release 패키지에는 일반적으로 FFmpeg / FFprobe가 내장되어 있습니다.
- 수동으로 패키징하는 경우
ffmpeg/디렉토리를 온전하게 유지하면 됩니다.
처음 실행하면 config/config.json이 자동으로 생성됩니다.
다음 유형의 파라미터들을 먼저 설정하는 것을 권장합니다:
AUTO_MODE_ENABLED:무인 자동 업로드 전체 스위치, 기본값 false
password_protection_enabled:Web 비밀번호 보호, 기본값 false
LOGIN_MAX_FAILED_ATTEMPTS:연속 오류 횟수 상한, 기본값 5
LOGIN_LOCKOUT_MINUTES:잠금 지속 시간, 기본값 15
LOGIN_SESSION_TIMEOUT_MINUTES:로그인 유휴 시간 초과 시간, 기본값 30분, 최소 1분, 보호된 페이지에 접속하면 자동으로 갱신됩니다.
UPLOAD_TARGET_DEFAULT:기본 업로드 플랫폼, acfun, bilibili, both 지원
UPLOAD_APPEND_REPOST_NOTICE:재전송(repost) 공지를 자동으로 추가할지 여부, 기본값 true
YOUTUBE_COOKIES_PATH:YouTube Cookie 경로
ACFUN_COOKIES_PATH:AcFun Cookie 경로
BILIBILI_COOKIES_PATH:bilibili Cookie 경로
YOUTUBE_PROXY_ENABLED / YOUTUBE_PROXY_URL:YouTube 다운로드 프록시 (Proxy)
YOUTUBE_API_PROXY_ENABLED / YOUTUBE_API_PROXY_URL:YouTube 모니터링 API 전용 프록시 (Proxy), 다운로드 프록시를 상속받지 않음
YOUTUBE_DOWNLOAD_THREADS:다운로드 스레드(Thread) 수
YOUTUBE_THROTTLED_RATE:다운로드 속도 제한
YOUTUBE_API_KEY:YouTube Data API v3 키, 모니터링 기능에 필요
FFMPEG_LOCATION:사용자 정의 FFmpeg 경로
FFMPEG_AUTO_DOWNLOAD:Windows에 없을 경우 FFmpeg 자동 다운로드, 기본값 true
OPENAI_API_KEY / OPENAI_BASE_URL / OPENAI_MODEL_NAME:전역 AI 설정
OPENAI_THINKING_ENABLED:전역 사고(Thinking) 모드 스위치
SUBTITLE_OPENAI_*:자막 번역 전용 오버라이드(Override) 설정, 비워둘 경우 전역 설정을 따름
SUBTITLE_QC_*:자막 품질 검사(QC) 전용 오버라이드(Override) 설정, 비워둘 경우 자막 번역 / 전역 설정을 따름
TRANSLATE_TITLE / TRANSLATE_DESCRIPTION / GENERATE_TAGS:제목, 설명, 태그 자동 생성
RECOMMEND_PARTITION:카테고리(Partition) 자동 추천
FIXED_PARTITION_ID / FIXED_PARTITION_ID_BILIBILI:고정 카테고리(Partition)
YOUTUBE_UPLOADER_AS_FIRST_TAG:업로더를 첫 번째 태그로 설정
SUBTITLE_TRANSLATION_ENABLED:자막 번역 활성화, 기본값 false
YOUTUBE_AUTO_GENERATED_SUBTITLES_ENABLED:YouTube 자동 생성 자막 다운로드, 기본값 false
SUBTITLE_SOURCE_LANGUAGE:원본 언어, 기본값 auto
SUBTITLE_TARGET_LANGUAGE:대상 언어, 기본값 zh
SUBTITLE_FONT_NAME:자막 인코딩(Burn-in) 폰트 이름, 기본값 SourceHanSansHWSC-VF.otf
SUBTITLE_BATCH_SIZE:번역 배치(Batch) 크기
SUBTITLE_MAX_RETRIES
SUBTITLE_RETRY_DELAY
:번역 재시도 전략
SUBTITLE_EMBED_IN_VIDEO
:자막을 비디오에 삽입할지 여부
SUBTITLE_KEEP_ORIGINAL
:원본 자막 파일을 유지할지 여부
SUBTITLE_MAX_WORKERS
:자막 번역 병렬 스레드 수
SPEECH_RECOGNITION_ENABLED
:음성 인식(Speech Recognition)을 통한 자막 생성 활성화 여부, 기본값 false
SPEECH_RECOGNITION_PROVIDER
:whisper, voxtral 지원
VAD_ENABLED
:VAD (Voice Activity Detection) 음성 스캔 윈도우, 기본값 true
WHISPER
경로는 기본적으로 segment 단위 타임스탬프를 사용하며, timestamp_granularities를 지원하지 않는 인터페이스와도 자동으로 호환됩니다. WHISPER_LANGUAGE / WHISPER_PROMPT / WHISPER_TRANSLATE : Whisper 전용 파라미터
VOXTRAL_TIMESTAMP_GRANULARITIES
:기본값 segment,word
VOXTRAL_DIARIZE / VOXTRAL_CONTEXT_BIAS / VOXTRAL_LANGUAGE / VOXTRAL_MAX_AUDIO_DURATION_S / VOXTRAL_LONG_AUDIO_MARGIN_S / VOXTRAL_ENFORCE_MAX_DURATION
VIDEO_ENCODER
:auto / cpu / nvidia / intel / amd
VIDEO_CPU_PRESET
:일반적인 CPU/libx264 트랜스코딩(Transcoding) 프리셋(Preset), 기본값 medium
VIDEO_CPU_PRESET_HD
:1440p 이상이면서 10분을 초과할 때 사용하는 프리셋, 기본값 veryfast
VIDEO_CUSTOM_PARAMS_ENABLED / VIDEO_CUSTOM_PARAMS
:사용자 정의 FFmpeg 파라미터
MAX_CONCURRENT_TASKS
:최대 병렬 작업 수, 기본값 2
MAX_CONCURRENT_UPLOADS
:최대 병렬 업로드 수, 기본값 1
LOG_CLEANUP_ENABLED / LOG_CLEANUP_HOURS / LOG_CLEANUP_INTERVAL
DOWNLOAD_CLEANUP_ENABLED / DOWNLOAD_CLEANUP_HOURS / DOWNLOAD_CLEANUP_INTERVAL
NOTIFY_ENABLED
:메시지 푸시 활성화, 기본값 false
NOTIFY_CHANNELS
:활성화된 채널 목록, wecom, serverchan, message_pusher 지원
NOTIFY_EVENTS
:구독할 이벤트 목록, task_added, task_completed, task_failed, login_success, login_locked, qr_login_success, qr_login_failed 선택 가능
-
기업 위챗(WeCom):
NOTIFY_WECOM_WEBHOOK_URL -
Server酱:
NOTIFY_SERVERCHAN_SENDKEY -
message-pusher:
NOTIFY_MESSAGE_PUSHER_SERVER/NOTIFY_MESSAGE_PUSHER_USERNAME/NOTIFY_MESSAGE_PUSHER_TOKEN
COOKIECLOUD_ENABLED
:CookieCloud 동기화 활성화, 기본값 false
COOKIECLOUD_SERVER_URL
:CookieCloud 서비스 주소
COOKIECLOUD_UUID
:CookieCloud UUID
COOKIECLOUD_PASSWORD
:CookieCloud 암호화 비밀번호
COOKIECLOUD_ENCRYPT_MODE
:암호화 모드, auto / legacy / aes-128-cbc-fixed 지원
CONTENT_MODERATION_ENABLED
:Alibaba Cloud(Aliyun) 콘텐츠 심사 활성화, 기본값 false
ALIYUN_ACCESS_KEY_ID / ALIYUN_ACCESS_KEY_SECRET
:Aliyun AK/SK
ALIYUN_CONTENT_MODERATION_REGION
:심사 서비스 지역
ALIYUN_TEXT_MODERATION_SERVICE
:텍스트 심사 서비스명, 기본값 comment_detection_pro
YOUTUBE_DOWNLOAD_QUALITY_MODE
:다운로드 품질 모드
YOUTUBE_DOWNLOAD_MAX_HEIGHT
:최대 해상도 높이 제한
SUBTITLE_MAX_LINE_LENGTH
:한 줄당 최대 문자 수, 기본값 42
SUBTITLE_MAX_LINES
:자막 한 개당 최대 행 수, 기본값 2
SUBTITLE_NORMALIZE_PUNCTUATION
:문장 부호 표준화, 기본값 true
SUBTITLE_FILTER_FILLER_WORDS
:채움말 (um, uh 등) 필터링, 기본값 true
SUBTITLE_TIME_OFFSET_S
:자막 시간 오프셋 (초)
SUBTITLE_MIN_CUE_DURATION_S
:최소 자막 지속 시간, 기본값 0.6
SUBTITLE_MERGE_GAP_S
:인접 간격 병합 임계값, 기본값 0.3
{
"AUTO_MODE_ENABLED": false,
"password_protection_enabled": false,
...
SUBTITLE_QC_ENABLED: true를 활성화하면, 시스템은 ASR(Automatic Speech Recognition)로 생성된 원본 자막에 대해 사전 검사(Pre-check)를 수행합니다.
SUBTITLE_QC_THRESHOLD
:AI 재검토 점수 하한선 (0 ~ 1, 기본값 0.60)
SUBTITLE_QC_SAMPLE_MAX_ITEMS
:AI 샘플링 항목 상한, 기본값 80
SUBTITLE_QC_MAX_CHARS
:AI 1회 검사 최대 문자 수 상한, 기본값 9000
SUBTITLE_QC_MODEL_NAME
:QC 모델 개별 지정, 비워둘 경우 자막 번역 / 글로벌 모델을 재사용
QC는 먼저 규칙(Rule)을 사용하여 하드 차단(Hard interception)을 수행하며, 경계선에 있는 샘플에 대해서만 AI를 호출하여 엄격하게 재검토합니다.
서명 행, 노이즈 안내, 인터페이스 조작어, 템플릿화된 반복 문구 등 명백히 품질이 낮은 자막이 감지되면 규칙 계층에서 즉시 실패 처리되며, 완화된 통과 단계로 넘어가지 않습니다.
AI를 사용할 수 없거나, 반환값이 비정상적이거나, 출력이 규정에 맞지 않는 의심스러운 샘플은 기본적으로 실패로 처리됩니다. QC 실패 시 자막 인코딩(Burn-in)은 건너뛰지만, 자막 파일은 유지한 채 원본 영상을 계속 업로드하며, 작업은 최종적으로 '완료'로 표시되되 자막 이상 마크가 표시됩니다.
현재 두 가지 유형의 ASR 제공업체를 지원합니다:
- Whisper: OpenAI 스타일의 인터페이스와 호환되며, 독립적인 API Key, Base URL 및 모델명을 사용할 수 있습니다.
- Voxtral: Mistral
/v1/audio/transcriptions를 사용하며, 기본 모델은voxtral-mini-latest입니다.
VAD_ENABLED=true를 우선적으로 유지하는 것을 권장합니다. 현재는 품질 우선의 스캔 윈도우(Scanning window) 파라미터를 채택하여, 분할(Chunking)을 더 짧게 하고 중첩(Overlap)을 줄임으로써 자막 경계 정밀도를 높이도록 설정되어 있습니다.
VAD 결과가 만족스럽지 않을 경우, 시스템은 자동으로 분할 또는 전체 구간 백업(Fallback) 프로세스로 진입합니다.
-
프로젝트에는 자막 인코딩 의존성을 위해
SourceHanSansHWSC-VF.otf가 기본적으로 내장되어 있으며 리포지토리와 함께 배포됩니다. -SUBTITLE_FONT_NAME을 통해fonts/디렉토리 내의 폰트 파일명을 지정할 수 있습니다. 프로그램은 libass에서 사용할 수 있도록 해당 파일의 실제 폰트 이름을 읽어옵니다. - 폰트 라이선스는fonts/LICENSE.txt에 위치합니다. -
홈 페이지 또는 작업 페이지에서 YouTube 링크를 제출하여 작업을 생성합니다.
-
자동 모드에서의 프로세스는 다음과 같습니다: 다운로드 -> ASR / 자막 처리 (선택 사항) -> AI 메타 정보 추출 -> 심사 -> 대상 플랫폼 업로드.
-
수동 심사 페이지에서 제목, 설명, 태그, 카테고리를 조정하고 강제 업로드를 할 수 있습니다.
-
YouTube 모니터링을 활성화하면 채널 또는 키워드별로 정기적으로 작업을 가져와 작업 큐에 자동으로 추가할 수 있습니다.
-
설정 페이지에서 계정, AI, 자막, ASR, 트랜스코딩, 유지보수 및 보안 항목을 그룹별로 관리할 수 있습니다.
-
AcFun / bilibili는 QR 코드 로그인을 지원합니다: 설정 페이지에서 「QR 코드 로그인」을 클릭하고 휴대폰 앱으로 스캔하면 인증이 완료됩니다.
-
CookieCloud 서비스가 배포되어 있다면, 설정 페이지에서 구성 후 YouTube 쿠키를 한 번에 동기화할 수 있어 수동으로 내보낼 필요가 없습니다.
-
알림 푸시를 활성화하면 작업 상태 변화 및 로그인 이벤트가 기업 위챗(WeChat Work) 등의 채널로 자동 전송됩니다.
-
기본적으로 프로젝트 내
ffmpeg/디렉토리의 바이너리를 우선 사용합니다. - Windows 환경에서ffmpeg/가 누락된 경우, 시스템이 자동으로 다운로드하여FFMPEG_LOCATION을 보충할 수 있습니다. - 기본 경로를 덮어쓸 수 있으며,ffmpeg.exe또는 해당 디렉토리를 직접 지정할 수 있습니다.VIDEO_ENCODER=cpu일 때는libx264(H.264)를 사용합니다.VIDEO_ENCODER=auto|nvidia|intel|amd
는 HEVC / H.265 하드웨어 인코딩을 우선적으로 사용합니다:
-
NVIDIA:
hevc_nvenc -
Intel:
hevc_qsv -
AMD (Windows):
hevc_amf -
AMD (Linux):
hevc_vaapi -
NVIDIA:
-
만약 HEVC 하드웨어 인코딩을 사용할 수 없거나 트랜스코딩 (transcoding)에 실패하면, 자동으로
libx264(H.264)로 폴백 (fallback) 합니다.
NVIDIA (권장):
# docker-compose.yml 내에서 다음 주석을 해제하여 활성화할 수 있습니다:
# gpus: all
# environment:
...
Intel / AMD (Linux):
devices:
- /dev/dri:/dev/dri
group_add:
...
NVIDIA 전용 오버라이드 (override) 파일은 제거되었으며, 관련 설정은 메인 docker-compose.yml에 직접 통합되었습니다.
YOUTUBE_API_KEY를 먼저 설정해야 합니다.- 키워드 검색, 특정 채널 지정, 히스토리 백업 (migration) 및 최신 모드 지속 추적을 지원합니다.
- 비디오 유형 필터링을 지원합니다: video / short / live
- 작업 큐 (task queue)에 자동으로 추가하도록 설정할 수 있으며, 모니터링 기록을 유지합니다.
- 설정 파일은
config/youtube_monitor/에 저장되며, 히스토리 데이터베이스는db/youtube_monitor.db에 위치합니다.
세 가지 푸시 채널을 지원하며, 설정 페이지에서 자유롭게 조합하여 활성화할 수 있습니다:
| 채널 | 식별자 (ID) | 필수 설정 |
|---|---|---|
| 기업 위챗 (WeCom) | wecom | NOTIFY_WECOM_WEBHOOK_URL |
| Server酱 | serverchan | NOTIFY_SERVERCHAN_SENDKEY |
| message-pusher | message_pusher | NOTIFY_MESSAGE_PUSHER_SERVER + USERNAME + TOKEN |
지원되는 이벤트 유형:
task_added: 작업 추가
task_completed: 작업 완료
task_failed: 작업 실패
login_success: 로그인 성공
login_locked: 로그인 잠금
qr_login_success: QR 코드 로그인 성공
qr_login_failed: QR 코드 로그인 실패
알림은 비동기 재시도 큐 (SQLite outbox)를 사용하며, 점진적 간격 (30s → 120s → 600s → 1800s → 3600s)을 통해 최종 전달을 보장합니다. 기업 위챗은 Markdown 형식을 우선적으로 사용하며, 실패 시 자동으로 일반 텍스트로 폴백합니다.
CookieCloud 서비스를 통해 YouTube / Google 쿠키를 자동으로 가져올 수 있어, 수동으로 내보내는 번거로움을 덜어줍니다.
COOKIECLOUD_SERVER_URL,COOKIECLOUD_UUID,COOKIECLOUD_PASSWORD를 설정하면 활성화됩니다.- 세 가지 암호화 모드를 지원합니다:
auto(자동 탐지),legacy,aes-128-cbc-fixed youtube.com,youtu.be,google.com도메인의 쿠키만 자동으로 필터링하여 유지합니다.- 출력 형식은 Netscape 형식이며
cookies/yt_cookies.txt에 저장됩니다. - 웹 설정 페이지에서 「연결 테스트」 및 「즉시 동기화」 버튼을 제공합니다.
- 동기화 상태는 타임스탬프, 성공/실패 여부 및 메시지를 기록하여 문제 해결을 용이하게 합니다.
비밀번호 보호: 선택 사항인 Web UI 비밀번호 보호를 제공하며, 설정 페이지에 처음 진입할 때 구성할 수 있습니다.
무차별 대입 공격 방지 (Brute-force protection): 5회 연속 오류 발생 시 15분 동안 자동으로 잠금되며, 잠금 시 알림을 전송합니다.
세션 타임아웃 (Session timeout): 로그인 후 30분 동안 활동이 없으면 자동으로 만료되며, 보호된 페이지에 접속하면 자동으로 세션이 연장됩니다.
SECRET_KEY 영속화 (Persistence): 첫 실행 시 256-bit 랜덤 키를 자동으로 생성하여 저장하며, 재시작해도 손실되지 않습니다.
경로 탐색 방지 (Path traversal protection): 모든 파일 작업은 werkzeug.security.safe_join을 사용하며, 쿠키 경로는 프로젝트 디렉토리 내로 제한됩니다.
콘텐츠 검열 (Content moderation): 알리바바 클라우드 (Alibaba Cloud) Green 검열 서비스와 연동하여 AI가 생성한 텍스트에 대한 규정 준수 검사를 수행할 수 있습니다.
로그인 이벤트 알림: QR 로그인 성공/실패, 비밀번호 잠금 등의 이벤트를 기업 위챗 등의 채널로 푸시할 수 있습니다.
-
403 / 로그인 필요 / not a bot
-
일반적으로 YouTube의 크롤링 방지 (anti-scraping) 또는 권한 문제입니다.
cookies/yt_cookies.txt를 업데이트하세요. -
CookieCloud를 통해 자동으로 동기화할 수도 있어 수동 내보내기가 필요 없습니다.
-
보통 YouTube의 봇 차단(Anti-scraping) 또는 권한 문제이며, 업데이트가 필요합니다.
-
FFmpeg / yt-dlp를 찾을 수 없음
- Docker 환경에서는 보통 처리할 필요가 없습니다. 로컬에서 실행할 경우 PATH가 올바른지 확인하세요.
- Windows Release 패키지를 사용하는 경우, 일반적으로 FFmpeg 누락 문제가 발생하지 않아야 합니다. 만약 발생한다면
ffmpeg/디렉토리가 보안 소프트웨어에 의해 격리되지 않았는지 확인하세요.
-
AcFun 업로드 실패
cookies/ac_cookies.json을 업데이트하거나, 설정 페이지에서 QR 코드를 사용하여 다시 로그인하세요. - 인공지능 검토(Manual Review) 페이지의 메타데이터가 규정에 맞는지 확인하세요.
-
Bilibili 업로드 실패
cookies/bili_cookies.json을 업데이트하거나, 설정 페이지에서 QR 코드를 사용하여 다시 로그인하세요.
-
자막 번역 속도 느림
- 동시성(Concurrency)과 배치 크기(Batch size)를 조정하되, API 속도 제한(Rate limiting)에 주의하세요.
-
Docker에서 NVENC가 활성화되지 않음
docker-compose.yml내의 GPU 섹션 주석이 해제되어 있는지 확인하세요. - 호스트에nvidia-container-toolkit이 설치되어 있는지 확인하세요.
-
CookieCloud 동기화 실패
- 서비스 주소, UUID 및 비밀번호가 올바른지 확인하세요.
- CookieCloud 서비스에 접근 가능한지 확인하세요. 설정 페이지의 「연결 테스트(Test Connection)」 버튼을 사용하여 문제를 진단할 수 있습니다.
-
알림 푸시 메시지를 받지 못함
NOTIFY_ENABLED가 활성화되어 있고, 대상 채널이 올바르게 구성되었는지 확인하세요. - Webhook URL / SendKey가 유효한지 확인하세요.
-
확인 사항
-
Issue / PR 제출 환영:
../../issues -
Cookie, 키(Key) 등 민감한 정보가 포함된 파일은 제출하지 마세요.
-
acfun_upload
-
yt-dlp
-
FFmpeg
-
Flask
-
Bilibili 플랫폼 업로드 관련 기술 참고 자료
-
프로젝트 내의
modules/bili_sdk부분은 커뮤니티 오픈소스 프로젝트를 참고하여 업로드 프로세스에 맞게 최적화되었습니다. -
프로젝트 내의 OpenAI
본 프로젝트는 GNU GPL v3 라이선스를 기반으로 합니다. 관련 플랫폼의 약관을 준수해야 하며, 합법적이고 규정에 맞는 범위 내에서 학습 및 연구 목적으로만 사용해 주세요.
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub Trending Python (daily)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기