Y2A-Auto 是一个用于将YouTube视频自动搬运到AcFun和Bilibili的全流程自动化工具
Y2A-Auto 是一个用于将YouTube视频自动搬运到AcFun和Bilibili的全流程自动化工具。它集成了下载、ASR语音识别、AI翻译、内容审核和上传等功能,并提供了Web管理界面。
以下是一份详细的部署教程,主要推荐使用 Docker 方式,这是最省心、最快捷的部署方案。
📋 部署前准备
- 核心依赖:
- Docker 和 Docker Compose (推荐)。
- 或 Python 3.11+、FFmpeg 和 yt-dlp (如选择本地运行)。
- 必要条件:
- Cookie文件: 这是必须准备的,用于模拟登录目标平台。你需要获取以下Cookie文件并放到项目的
cookies/目录下:yt_cookies.txt: YouTube的登录Cookie (Netscape格式)。ac_cookies.json: AcFun的登录Cookie (JSON格式)。bili_cookies.json: Bilibili的登录Cookie (JSON格式)。- 获取方法: 可以使用浏览器扩展(如EditThisCookie)导出。切勿将这些包含敏感信息的文件提交到代码仓库。
- (可选) YouTube Data API v3 密钥: 如需使用频道/关键词监控功能,需要配置
YOUTUBE_API_KEY。
- Cookie文件: 这是必须准备的,用于模拟登录目标平台。你需要获取以下Cookie文件并放到项目的
🐳 第一步:Docker 部署 (推荐)
这是官方推荐的方式,能自动处理大部分环境依赖。
克隆项目
1
2git clone https://github.com/fqscfqj/Y2A-Auto.git
cd Y2A-Auto准备Cookie文件
在项目根目录下创建cookies文件夹(如果不存在),并将你准备好的三个Cookie文件放入其中:1
2
3
4
5Y2A-Auto/
└── cookies/
├── yt_cookies.txt
├── ac_cookies.json
└── bili_cookies.json配置环境 (可选)
首次运行会自动生成config/config.json。你也可以提前编辑或后续通过Web界面修改配置。启动服务
在项目根目录下,使用Docker Compose启动:1
docker compose up -d
该命令会从Docker Hub拉取镜像 (
fqscfqj/y2a-auto:latest) 并在后台运行。查看日志与状态
1
docker compose logs -f
访问Web界面
在浏览器中打开http://localhost:5000。
💻 第二步:本地运行 (备选)
如果你更倾向于在本地Python环境中运行,请遵循以下步骤。
环境准备
- 安装 Python 3.11+。
- 安装 FFmpeg 并确保其在系统PATH中,或后续在配置中指定路径。
- 安装 yt-dlp。
安装Python依赖
1
2
3
4
5# 在项目根目录下
py -3.11 -m venv .venv # 创建虚拟环境 (Windows)
# source .venv/bin/activate # 激活虚拟环境 (Linux/macOS)
.\.venv\Scripts\Activate.ps1 # 激活虚拟环境 (Windows PowerShell)
pip install -r requirements.txt准备Cookie文件
同Docker方式,在项目根目录下创建cookies文件夹,并放入yt_cookies.txt、ac_cookies.json、bili_cookies.json。启动应用
1
python app.py
访问
http://127.0.0.1:5000即可。
⚙️ 第三步:基本配置与使用
首次启动后,建议进行以下配置:
- 登录保护 (安全): 在Web界面的设置中,强烈建议启用
password_protection_enabled并设置一个强密码,避免管理界面暴露在公网。 - 配置账号与网络:
- 确认
cookies/目录下的Cookie文件路径正确。 - 如需使用监控功能,填入
YOUTUBE_API_KEY。 - 可根据网络情况配置代理 (
YOUTUBE_PROXY_URL等)。
- 确认
- 配置AI功能 (可选):
- 如需使用AI生成标题、简介、标签或字幕翻译,需要配置
OPENAI_API_KEY、OPENAI_BASE_URL和OPENAI_MODEL_NAME。 - 如需语音识别(ASR),可启用
SPEECH_RECOGNITION_ENABLED并选择whisper或voxtral提供商。
- 如需使用AI生成标题、简介、标签或字幕翻译,需要配置
- 配置投稿目标:
- 在
UPLOAD_TARGET_DEFAULT中选择默认投稿平台 (acfun,bilibili,both)。
- 在
- 添加任务:
- 在Web首页或任务页面,提交一个YouTube视频链接,任务将自动进入处理流水线。
- 在“人工审核”页面,你可以调整AI生成的元数据,并手动确认或强制上传。
🔧 第四步:高级功能与维护
- YouTube监控: 配置好API Key后,可在设置中创建频道或关键词监控任务,系统将定时拉取新视频并自动加入队列。
- CookieCloud集成: 如果部署了CookieCloud服务,可以配置
COOKIECLOUD_ENABLED及相关参数,实现YouTube Cookie的自动同步更新,免去手动导出的麻烦。 - 消息推送: 支持企业微信、Server酱、message-pusher,可在任务完成或失败时接收通知。
- 硬件加速转码: 如果需要,可以在
docker-compose.yml中取消注释GPU相关配置(如NVIDIA的gpus: all),并在VIDEO_ENCODER中选择nvidia、intel或amd。 - 维护: 系统内置了日志和下载文件的自动清理策略,可在设置中调整保留时长。
❗ 常见问题与提示
Cookie失效: 如果上传或下载失败,最常见的原因是Cookie过期。请重新导出并更新
cookies/目录下的对应文件,或在Web设置页使用 QR码扫码登录 功能重新获取B站/A站的Cookie。Docker权限问题: 如果启动日志出现
PermissionError,可能是挂载目录的权限问题。你需要创建这些目录并将所有者改为容器内的用户 (UID 1000):1
2mkdir -p config db downloads logs cookies temp
sudo chown -R 1000:1000 config db downloads logs cookies temp云服务器访问: 出于安全考虑,不要将5000端口直接暴露在公网。推荐使用SSH端口转发进行本地访问:
1
ssh -N -L 5000:127.0.0.1:5000 user@<你的服务器IP>
然后在本地浏览器访问
http://localhost:5000。FFmpeg缺失: Docker环境内置了FFmpeg。本地运行时,请确保已安装并正确配置
FFMPEG_LOCATION路径。GPU支持: 如需在Docker中使用NVIDIA GPU加速,请确保宿主机已安装
nvidia-container-toolkit,并在docker-compose.yml中取消gpus相关配置的注释。
至此,您已经完成了Y2A-Auto的部署。建议从单个视频任务开始测试整个流程,确保Cookie和各项配置正常工作后,再启用监控等自动化功能。

