ytb2bili 是一个面向本地视频翻译播放与 YouTube 到 Bilibili 搬运的处理系统,提供 Web 管理后台、任务链编排、字幕处理、AI 文案生成、字幕音频合成、音视频同步播放、B 站上传、字幕上传等完整能力。
如果你是想直接把 ytb2bili 服务跑起来,推荐先用 Docker Compose。默认会启动两个服务:
mysql:持久化任务、账号和运行数据ytb2bili:Web 管理后台和搬运服务
先确认机器上已经安装:
- Docker
- Docker Compose
git clone https://github.com/difyz9/ytb2bili-docker.git
cd ytb2bili-docker
docker compose up -d
默认情况下,[database] 配置已经和 docker-compose.yml 对齐,通常不用改。至少保留下面这段:
[server]
host = "0.0.0.0"
port = 8096
static_dir = "./downloads"
static_path = "/static"
[database]
type = "mysql"
host = "mysql"
port = 3306
user = "ytb2bili"
password = "ytb2bili@123"
dbname = "bili_up"
sslmode = ""
timezone = "Asia/Shanghai"
auto_migrate = true
table_prefix = ""
[workflow]
download_dir = "./downloads"
ytdlp_path = "/usr/local/bin/yt-dlp"
ffmpeg_path = "/usr/bin/ffmpeg"
# 如果你的网络访问 YouTube 需要代理,再补:
# proxy_url = "http://127.0.0.1:7890"
docker compose up -d
docker compose logs -f服务正常启动后,打开:http://localhost:8096
- 进入后台
- 用 B 站 App 扫码登录
- 新建任务并粘贴视频链接
- 等待系统自动下载、处理并上传
常用命令:
docker compose ps
docker compose restart
docker compose down如果你还需要代理、AI 翻译、升级和排错说明,继续看完整文档:readme01.md
- 本地视频翻译播放: 支持本地视频生成翻译字幕与配音,并以音视频同步方式播放和校对
- YouTube 到 B 站全流程处理: 下载视频、提取音频、转录字幕、翻译字幕、生成元数据、上传 B 站
- 可配置任务链: 各步骤可以按用户设置启停,前后端对齐执行语义
- AI 能力集成: 支持 AI 翻译、标题/简介/标签生成、字幕音频合成、翻译后配音
- B 站集成: 支持扫码登录、视频投稿、字幕上传、账号状态管理
- 现代 Web 管理后台: Go 后端 + Next.js 前端,支持任务查看、重跑、手动上传等操作
项目由三部分组成:
- 处理引擎: Go 后端负责下载、转录、翻译、元数据生成、字幕音频合成、B 站上传、字幕上传等任务链执行
- 管理后台: Next.js 前端提供任务面板、配置页面、账号管理、手动上传、本地视频翻译播放与同步校对等操作界面
- 运行支撑: 通过
config.toml、数据库、Docker 部署文件和文档体系支撑本地开发与生产运行
仓库中的核心目录:
internal/: 后端应用代码,包括配置、路由、工作流、持久化和服务装配pkg/: 可复用模块,包括 B 站集成、LLM 客户端、工具实现和数据模型web/: Web 管理后台前端代码configs/: 配置说明与示例docs/: 部署、功能、排障和设计文档docker/: Docker 构建、运行和部署相关文件
git clone https://github.com/difyz9/ytb2bili.git
cd ytb2bilicp config.toml.example config.toml按需填写数据库、下载目录、API Key、代理等配置。常用配置入口在 config.toml.example。
go mod download
go run main.go默认后端地址见 config.toml 中的 [server] 配置。
cd web
npm install
npm run dev- 打开 Web 管理后台
- 登录 B 站账号
- 上传本地视频,生成翻译字幕与配音,并在后台进行音视频同步播放和校对
- 安装 Chrome 插件:https://api.github.com/repos/difyz9/ytb2bili_extension/releases/latest
- 安装插件后,打开任意 YouTube 视频页面,点击插件图标提交视频链接
- 在管理后台查看任务链执行状态与日志
- 在需要时重跑步骤、修改文案或手动投稿到 B 站
- 导入本地视频或提交 YouTube 链接
- 下载视频与缩略图
- 提取音频
- 生成字幕
- 翻译字幕
- 合成翻译配音并进行音视频同步播放
- 生成标题、简介、标签
- 上传 B 站视频
- 上传 B 站字幕
- Docker 快速部署:见上面的
5 分钟 Docker 部署 - 本地源码开发:使用
go run main.go和cd web && npm run dev - 生产构建:可使用
make build、make build-linux-arm64等命令
常用开发方式:
# 后端
go run main.go
# 前端
cd web && npm install && npm run dev常用构建命令:
make build # 构建生产版本(包含前端)
make build-dev # 仅构建后端
make build-linux-arm64 # Linux ARM64
make build-all # 构建所有平台如果你要扩展流程,优先查看 internal/workflow/ 下已有的下载、转录、翻译、元数据生成、B 站上传、字幕上传等步骤实现。
项目使用 config.toml 作为主要运行配置。开始前可先执行:
cp config.toml.example config.toml最常用的配置项包括:
server.port:服务端口database.*:数据库连接信息workflow.*:下载目录、代理、ffmpeg、yt-dlp 等工作流配置api2key.*:AI、积分、翻译、TTS 等统一后端能力updater.enabled:自动更新开关
详细说明见:
go test ./...
go build -o ytb2bili main.go
curl http://localhost:8096/health欢迎提交 Issue 和 Pull Request!
- GitHub: @difyz9
- 项目链接: https://github.com/difyz9/ytb2bili