fqscfqj / Y2A-Auto
git clone https://github.com/fqscfqj/Y2A-Auto.git
4.11.0 · 3d ago
YouTube到AcFun和bilibili自动化搬运工具,支持AI翻译、字幕生成、内容审核、智能监控
+39
stars, 24h · #986
+~205
stars, 7 days · #1,094
+~880
stars, 30 days · #948
4.0k
★ total · +5% this week
677
forks · 13 open issues
Star history (as recorded here)
LanguagePython
LicenseGPL-3.0
Created2025-05-10 (1y ago)
Last push3d ago
Watchers15
OwnerUser
GitHub topics
Links
README excerpt
# Y2A-Auto 将 YouTube 视频自动搬运到 AcFun / bilibili 的一体化工具。 从下载、ASR、字幕翻译、字幕质检、内容审核到上传,全流程自动化;内置 Web 管理后台、YouTube 监控和维护能力。 快速开始 · 功能概览 · 部署与运行 · 配置说明 · 使用指南 · 通知推送 · CookieCloud · 安全特性 · 常见问题 --- Telegram 转发机器人(试用): @Y2AAuto_bot 自部署版本: Y2A-Auto-tgbot ## 项目展示 以上为当前页面截图。 ## 核心亮点 | 能力模块 | 说明 | | --- | --- | | 全流程自动化 | 从下载、ASR、字幕、元信息到上传一条龙处理 | | 审核可控 | 支持人工审核、强制上传、内容安全检测和登录保护 | | 灵活部署 | Docker / 本地双模式,支持 CPU 与多种 GPU 编码 | | 监控拉取 | 支持 YouTube 频道 / 关键词定时抓取与历史记录 | | 消息推送 | 企业微信、Server酱、message-pusher 多渠道异步通知 | | CookieCloud | 从 CookieCloud 服务自动同步 YouTube Cookies | | 安全防护 | 密码保护、暴力破解锁定、会话超时、路径遍历防护 | | 维护完善 | 支持日志清理、下载清理、并发控制和 FFmpeg 自动补齐 | ## 功能概览 - 自动化流水线 - `yt-dlp` 下载视频与封面 - 自动或按需进行语音识别生成字幕,支持 Whisper、Voxtral - 字幕翻译、字幕后处理、字幕质检(QC)与字幕烧录 - AI 生成标题、简介、标签与分区推荐 - 内容安全审核(阿里云 Green) - 自动上传到 AcFun / bilibili / 双平台 - Web 管理后台 - 任务列表、人工审核、强制上传 - 设置中心分组管理:运行概览、账号与网络、内容审核、AI 模型、字幕处理、语音识别、视频转码、监控与维护、安全 - 登录保护、错误次数锁定和密码管理 - YouTube 监控 - 频道监控与关键词搜索监控 - 支持 latest / historical 模式、视频类型筛选和自动加入任务队列 - 内置历史记录与配置文件恢复 - 通知推送 - 企业微信、Server酱、message-pusher 三种渠道 - 任务添加 / 完成 / 失败、登录成功 / 锁定、QR 登录成功 / 失败等事件推送 - 异步重试队列,递增间隔保证投递 - CookieCloud 集成 - 从 CookieCloud 服务自动拉取 YouTube / Google Cookies - 支持 auto / legacy / aes-128-cbc-fixed 加密模式 - Web UI 一键测试与同步 - 字幕变换引擎 - 长行自动拆分、标点标准化、填充词 / 重复词过滤 - 幻觉文本与噪声标签检测、文本密度过高检测 - 时间偏移、最短时长、相邻间隙合并等后处理 - 视频转码 - 支持 CPU / NVIDIA / Intel / AMD 硬件编码 - 默认优先 HEVC / H.265,失败后自动回退到 H.264 - 平台认证 - AcFun / bilibili 支持 QR 码扫码登录 - bilibili 支持 Cookie 导入(Netscape / JSON 格式) - 维护与环境 - Windows 可自动补齐 FFmpeg - 支持日志清理、下载清理和自定义 FFmpeg 路径 ## 项目结构 [code] ## 快速开始 推荐使用 Docker(无需手动安装 Python、FFmpeg、yt-dlp)。 1. 准备 Cookie(必须) - `cookies/yt_cookies.txt`:YouTube 登录 Cookie - `cookies/ac_cookies.json`:AcFun 登录 Cookie - `cookies/bili_cookies.json`:bilibili 登录 Cookie - 可使用浏览器扩展导出 `cookies.txt`,请勿提交到仓库 2. 启动服务 [code] 3. 打开 Web - 访问 `http://localhost:5000` - 首次进入建议先配置登录保护、平台账号和 YouTube Cookie 默认会持久化目录:`config/`、`db/`、`downloads/`、`logs/`、`temp/`、`cookies/`。 说明:`fonts/` 中的字体属于项目内置依赖,用于字幕烧录;许可证见 `fonts/LICENSE.txt`。 ## 部署与运行 ### 方案 A:Docker(推荐) - 启动:`docker compose up -d` - 停止:`docker compose down` - 重启:`docker compose restart` - 日志:`docker compose logs -f` 如需本地构建镜像,可使用: [code] 如果启动日志出现写入 `config/`、`db/` 或 `logs/` 等挂载目录的 `PermissionError`,请在项目目录中创建这些目录,并将其属主改为容器内应用使用的 UID/GID(默认 `1000:1000`): [code] 启用了 rootless Docker 或 `userns-remap` 时,请使用容器 UID 1000 实际映射到宿主机的 UID/GID;映射方式参见 Docker 官方文档。 ### 方案 B:本地运行 前置要求: - Python 3.11+ - FFmpeg - yt-dlp [code] 访问 `http://127.0.0.1:5000`。 ### 方案 C:Windows 便携包 - `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`:默认投稿平台,支持