Find your next open-source project

Search by name, purpose, or keyword — or paste a GitHub repository URL

fqscfqj/Y2A-Auto

Media & Design

Self-hosted pipeline that downloads YouTube videos, generates and translates subtitles, and uploads to AcFun or bilibili.

5,009
848
Python
GPL-3.0
1 year old

What it does

Y2A-Auto is a Flask-based, self-hosted tool that moves videos from YouTube to AcFun and/or bilibili. One task chains download (yt-dlp), optional speech recognition (Whisper or Voxtral), subtitle translation and QC, AI-generated title/description/tags and partition recommendation, optional Aliyun content moderation, transcoding with FFmpeg, and upload. A web admin UI covers task lists, manual review/forced upload, grouped settings, and platform QR-code login 功能概览.

It also supports scheduled YouTube monitoring by channel or keyword (requires a YouTube Data API v3 key), notification pushes via WeCom, Server酱, or message-pusher, CookieCloud cookie sync, and an optional separately deployed Telegram bot for submitting links YouTube 监控.

Quick start

Docker is the recommended path and does not require installing Python, FFmpeg, or yt-dlp manually. Prepare three cookie files first: cookies/yt_cookies.txt, cookies/ac_cookies.json, and cookies/bili_cookies.json. Then, from the project root:

docker compose up -d

Open http://localhost:5000 and configure login protection, platform accounts, and the YouTube cookie 快速开始. State is persisted under config/, db/, downloads/, logs/, temp/, and cookies/. If bind-mounted directories raise PermissionError, create them and chown them to UID/GID 1000:1000, or map your container UID appropriately under rootless Docker Docker 官方文档.

A local path needs Python 3.11+, FFmpeg, and yt-dlp:

py -3.11 -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r requirements.txt
python app.py

Then visit http://127.0.0.1:5000. A Windows portable release build is provided through build-tools/ and usually bundles FFmpeg/FFprobe.

Configuration essentials

AUTO_MODE_ENABLED controls whether tasks run unattended end to end; it defaults to off. AI text features accept OpenAI Chat Completions or Responses-compatible endpoints through OPENAI_BASE_URL and OPENAI_MODEL_NAME, and subtitle translation/QC can use separate overrides 配置说明. FFmpeg must be 5.1 or newer because subtitle burn-in uses -fps_mode cfr; pointing FFMPEG_LOCATION at 5.0 or older makes software encoding fail. Hardware encoding can use NVIDIA (hevc_nvenc), Intel (hevc_qsv), or AMD (hevc_amf on Windows, hevc_vaapi on Linux), falling back to CPU encoding when unavailable.

Constraints

  • YouTube cookies are mandatory; expired or missing cookies typically cause 403/not-a-bot failures.
  • The web UI defaults to no password protection and plain HTTP. Do not expose port 5000 directly to the public internet; use an SSH tunnel or enable password protection plus HTTPS behind a reverse proxy 常见问题.
  • bilibili uploads hit account-level risk control (error 603); the default auto submission path tries the Bcut PC route before falling back to Web.
  • The public Telegram bot runs on a personal VPS that the project says is blocked and not guaranteed to stay available; self-deploy the bot for stable use 部署与运行.
  • License is GPL-3.0, and the README asks users to follow platform terms and use it only for lawful learning/research purposes.

HotRepo's take

In the 2026-11-15 Python daily snapshot the project recorded 99 new stars, reaching 11th on that language list with 5,007 total stars and 847 forks. That single-snapshot signal shows active attention but not a trend; the repo has no recorded all-language daily rank, so there is no cross-language placement to compare. The technical work worth noting is the unusually explicit handling of subtitle QC failure states and the x265 fallback behavior documented in the config, which matters more to operators than the raw star count.

Written by AI from the project's README, updated . The project's own docs are the source of truth.

You might also like

  1. dreammis/social-auto-uploadCLI and Agent Skills for publishing videos, articles and image posts to multiple Chinese and global social platforms.Python16,539