fqscfqj/Y2A-Auto

YouTube到AcFun和bilibili自动化搬运工具,支持AI翻译、字幕生成、内容审核、智能监控

Y2A‑Auto – YouTube → AcFun / Bilibili auto‑repost tool

What it does – Y2A‑Auto is a self‑hosted Python application that watches YouTube channels or keyword searches, downloads new videos, optionally runs speech‑to‑text (Whisper or Voxtral), translates or quality‑checks subtitles with OpenAI models, generates titles/tags, runs a content‑moderation check, and finally uploads the finished video to AcFun, Bilibili, or both. All steps are orchestrated through a web dashboard and can run completely unattended.

Key components

  • Downloader – uses yt‑dlp to fetch video, cover image and optional auto‑generated YouTube subtitles.
  • ASR & subtitle pipeline – Whisper or Voxtral for speech recognition, OpenAI‑driven translation, rule‑based cleaning, and an optional AI‑powered quality‑check.
  • AI‑generated metadata – title, description, tags and partition recommendation via OpenAI’s chat models.
  • Content moderation – optional Alibaba Cloud Green service to filter unsafe text.
  • Upload engines – QR‑code login or cookie‑based authentication for AcFun and Bilibili, with automatic subtitle burn‑in using FFmpeg.
  • Management UI – Flask‑based dashboard for task queues, manual review, settings, and logs.
  • Automation helpers – YouTube monitor (channel/keyword polling), CookieCloud sync for YouTube cookies, multi‑channel notification (WeChat Work, Server‑Chan, message‑pusher), and security features (password protection, brute‑force lockout, session timeout, path‑traversal safeguards).

How to get it running

  1. Docker (recommended)docker compose up -d pulls the pre‑built image (fqscfqj/y2a-auto:latest).
  2. Local – create a Python 3.11 virtualenv, install requirements.txt, ensure FFmpeg and yt‑dlp are on the PATH, then run python app.py.
  3. Windows portable – use the provided build tools; the release bundle already contains FFmpeg.

First‑time setup

  • Place YouTube, AcFun and Bilibili cookies in cookies/ (YT as yt_cookies.txt, others as JSON).
  • Open http://localhost:5000, enable password protection if desired, and configure API keys (YouTube Data API, OpenAI, Alibaba Cloud, notification webhooks, etc.).
  • Turn on AUTO_MODE_ENABLED to let the system run without manual intervention.

Configuration highlights (all in config/config.json)

  • Video handlingVIDEO_ENCODER (auto|cpu|nvidia|intel|amd), hardware‑accelerated HEVC preferred, fallback to H.264.
  • Subtitle workflow – toggle SUBTITLE_TRANSLATION_ENABLED, SUBTITLE_QC_ENABLED, set source/target languages, batch size, and concurrency.
  • ASR – enable SPEECH_RECOGNITION_ENABLED, choose provider (whisper or voxtral), adjust VAD and language settings.
  • AI metadata – provide OPENAI_API_KEY, model name, and enable generation flags (TRANSLATE_TITLE, GENERATE_TAGS, etc.).
  • Monitoring – supply a YouTube Data API key, define channels or keywords, and set latest vs historical mode.
  • Notifications – list channels in NOTIFY_CHANNELS and fill the corresponding webhook/keys.
  • Security – password protection, lockout after 5 failed logins, 30‑minute session timeout, secret key persistence.

Why it matters

  • Automates a full end‑to‑end pipeline that would otherwise require manual downloading, transcription, translation, and re‑uploading.
  • Leverages modern AI models (Whisper/Voxtral for speech, OpenAI for translation and content generation) while giving the operator fine‑grained control and optional human review.
  • Designed for Chinese‑focused creators who want to repurpose YouTube content on AcFun or Bilibili, with built‑in compliance checks.

License – GNU GPL v3.


All details are taken directly from the repository’s README; no additional features are inferred.

Related

  • Project
  • Project
  • Project
  • Project
  • Project