源码简介
这套源码属于视频自动化搬运类项目,核心是把 YouTube 视频自动下载、处理字幕并投稿到 AcFun 与 bilibili。项目名为 Y2A-Auto,是一套基于 Python 的开源工具,内置 Web 管理后台,覆盖从下载、语音识别、字幕翻译、AI 元信息生成到平台上传的完整流水线。它适合想研究 yt-dlp + FFmpeg + AI 字幕翻译如何串成自动化流程、或需要本地化管理多平台投稿的开发者做学习参考与二次开发。
适用场景
- 想把 YouTube 频道内容同步到 B站 / AcFun 的自动化辅助处理
- 学习 Flask + yt-dlp + FFmpeg + Whisper 字幕翻译的自动化流水线实现
- 本地化部署一套带 Web 后台的多平台视频投稿管理工具做研究
技术栈与运行环境
- 前端:Bootstrap 5 + 原生 JS(static/lib、main.js)
- 后端:Python 3.11+、Flask 3.1、APScheduler 定时调度
- 数据库:SQLite(任务状态、监控历史、通知 outbox 队列)
- 运行环境:Docker / 本地 Python 虚拟环境 / Windows 便携包;需预装 FFmpeg 与 yt-dlp
- 其他依赖:yt-dlp、openai、silero-vad、alibabacloud_green20220302、curl_cffi、cryptography、qrcode
功能亮点
- 全流程自动化流水线:yt-dlp 下载视频与封面,经 ASR 语音识别、字幕翻译、质检、AI 元信息生成与内容审核后自动投稿,对应 modules 下的下载、识别、翻译、增强、审核、上传模块。
- YouTube 监控拉取:支持频道与关键词定时抓取,含 latest / historical 模式并自动加入任务队列,由 youtube_monitor.py 与监控页面实现。
- Web 管理后台:Flask 提供任务列表、人工审核、强制上传与分组设置中心,含密码保护、错误锁定与会话超时,对应 app.py 路由与 11 个 templates 页面。
- 双平台上传与登录:AcFun / bilibili 支持扫码登录或 Cookie 导入,可双平台同时投稿,由 acfun_uploader.py、bilibili_uploader.py 与 bili_sdk 实现。
- AI 增强与内容审核:调用 OpenAI 兼容接口生成标题、简介、标签与分区推荐,可对接阿里云 Green 做文本合规检测,见 ai_enhancer.py 与 content_moderator.py。
- 通知与凭据同步:企业微信 / Server酱 / message-pusher 多渠道异步推送,支持 CookieCloud 自动同步 YouTube Cookie,见 notifications/ 与 cookiecloud.py。
安装与部署提示
- 推荐 Docker:在仓库目录执行
docker compose up -d,随后访问 http://localhost:5000。 - 本地运行需 Python 3.11+,建虚拟环境后
pip install -r requirements.txt,再运行python app.py。 - 首次运行自动生成 config/config.json,需准备 cookies/yt_cookies.txt、ac_cookies.json、bili_cookies.json 等平台登录凭据。
- 设置页可配置密码保护、AI 模型、字幕处理、转码编码与通知渠道;无人值守开关 AUTO_MODE_ENABLED 默认关闭,建议先人工审核再开启自动投稿。
截图与演示说明
- 首页 / 任务提交页(index.html、tasks.html):粘贴 YouTube 链接创建搬运任务。
- 人工审核页(manual_review.html、edit_task.html):调整标题、简介、标签、分区并强制上传。
- 设置中心(settings.html):运行概览、账号与网络、AI 模型、字幕处理、转码、安全等分组配置。
- YouTube 监控页(youtube_monitor.html、youtube_monitor_config.html、youtube_monitor_history.html):频道 / 关键词监控配置与历史记录。
- 登录页(login.html):密码保护下的后台登录界面。
常见问题
运行前需要注意什么?
需 Python 3.11+ 或 Docker 环境,并准备好 FFmpeg 与 yt-dlp(Docker 镜像已内置)。首次使用必须配置各平台的登录 Cookie 文件,否则下载与上传无法执行;YouTube 监控功能还需自备 YouTube Data API v3 密钥。
适合二次开发吗?
项目按功能拆分 modules(下载、ASR、字幕、AI、上传、通知、监控等),Flask 路由与 task_manager 编排清晰,适合作为自动化流水线与多平台投稿的二次开发学习基线。但涉及平台反爬与版权,改造与上线前需自行评估合规风险。
安全风险提示
特别提示:本源码未检测安全风险文件,下载后请务必进行安全审计,删除恶意代码后再部署使用!
常规代码审查未见加密混淆或 WebShell 类风险;subprocess 仅用于调用 ffmpeg / yt-dlp,base64 仅用于 CookieCloud 解密,均为正常实现。但需注意以下配置类风险:
- 凭据与密钥明文存储:config/config.json 含 OPENAI_API_KEY、阿里云 AK/SK、CookieCloud 密码,cookies/ 下存放平台登录态,部署时应严格限制文件权限、切勿提交到公开仓库(项目 SECURITY / README 也有相同提醒)。
- CookieCloud 自动同步 YouTube / Google Cookie 属于自动拉取登录态,仅应在自有账号下使用并遵守 YouTube 服务条款。
- 内置安全特性较完善:Web 密码保护、连续错误 5 次锁定 15 分钟、会话超时、werkzeug safe_join 路径遍历防护、首次运行随机生成并持久化 SECRET_KEY,说明作者具备安全意识,但默认密码保护为关闭状态,公网部署务必开启。
下载说明
源码仅供学习研究、测试部署和二次开发参考。本项目基于 GPL v3 开源,商用与再分发前请确认授权与版权。
合规提醒:视频搬运涉及版权与平台规则,请严格遵守 YouTube、AcFun、bilibili 等平台的服务条款,仅在获得授权、合法合规的前提下用于学习与研究,不要将他人受版权保护的内容擅自下载并发布。自动化投稿行为须符合各平台转载与内容规范。
开源地址:https://github.com/fqscfqj/Y2A-Auto


