Sign inSign up

fqrabbit/biliupforjava

By fqrabbit

•Updated 15 days ago

Image
Web servers
Content management system
0

3.2K

fqrabbit/biliupforjava repository overview

更新日志请到Github Releases⁠查看.

Please check the Github Releases⁠ for the changelog.

⁠BiliUpForJava

📺 基于 Webhook 的 B站录播自动投稿工具

GitHub Release Docker Pulls GitHub all releases GitHub Stars GitHub last commit License

功能特性⁠ • 快速开始⁠ • 详细配置⁠ • 系统截图⁠ • 常见问题⁠


⁠📖 简介

BiliUpForJava 是一个全自动的 B站录播投稿工具,配合录播姬(BililiveRecorder/blrec)使用,通过 Webhook 机制实现录播文件的自动上传和投稿。

重要说明:本程序只负责录播文件的上传投稿,不支持直播录制功能,需要配合录播姬使用。

⁠💡 适用场景
  • 🖥️ NAS / 服务器 24小时录播监控
  • 🎬 直播录制后自动投稿
  • 💾 边录边传*,节省磁盘空间
  • ☁️ 录播文件自动上传至云盘
  • 🎨 支持自定义封面和云剪辑

⁠✨ 功能特性

功能说明
🎯 WebUI 配置友好的网页管理界面,无需修改配置文件
💾 边录边传支持录制一个文件后上传一个文件,减少硬盘占用
🖼️ 智能封面支持直播封面和自定义封面
💬 弹幕转移可将直播弹幕转移到录播视频(非压制)
✂️ 云剪辑支持上传到 B站云剪辑平台素材库进行二次创作
📤 云盘路径支持支持文件处理后移动,配合 rclone/WebDAV 上传云盘
🐳 Docker 部署提供 Docker 镜像,支持一键部署
🖥️ 跨平台支持 Windows、Linux、NAS 等多种环境
⁠工作流程说明
  1. 录播姬 负责监控直播并录制视频文件
  2. 录播姬 通过 Webhook 通知本项目录制完成(携带文件路径)
  3. 本项目 收到通知后读取文件并自动上传到 B站
  4. ⚠️ 关键:录播姬和本项目必须能访问同一个文件路径(Docker 部署需映射同一宿主机目录)

⁠🚀 快速开始

⁠前置要求
  • Docker 环境(推荐)或 Java 17+ 环境
  • 录播姬(BililiveRecorder 或 blrec)
  • B站账号
⁠方式一:Docker 部署(推荐)
展开查看 Docker 部署步骤
⁠📋 容器参数说明
参数项容器内默认值推荐设置作用说明
端口映射80-p 12380:80映射宿主机端口到容器 80 端口
存储卷无-v /path/to/recordings:/bilirecord挂载录制文件目录(必须与录播姬一致)
内存限制无限制-m 512M限制容器最大内存使用,最低 400MB
时区Asia/Shanghai已内置已在镜像中设置中国时区
重启策略无--restart always容器异常退出时自动重启
⁠🔧 可选 JVM 参数(通过 JAVA_OPTS 环境变量)
参数默认值推荐值说明
-Drecord.userName无adminWeb 管理界面登录用户名
-Drecord.password无your_passwordWeb 管理界面登录密码
-Dfile.encoding系统默认UTF-8强烈推荐设置,避免中文乱码
-Duser.timezoneAsia/ShanghaiAsia/Shanghai已内置,无需额外设置

⚠️ 重要提示

  • 建议添加 -Dfile.encoding=UTF-8 参数,避免文件名或日志出现乱码
  • 时区已在 Docker 镜像中设置为 Asia/Shanghai,无需额外配置
⁠1️⃣ 拉取镜像
docker pull FQrabbit/biliupforjava:latest
⁠2️⃣ 基础运行(无密码)
docker run -d \
  --name bup \
  -p 12380:80 \
  -v /path/to/recordings:/bilirecord \
  -m 512M \
  --restart always \
  FQrabbit/biliupforjava:latest
⁠3️⃣ 完整配置运行(推荐)
docker run -d \
  --name bup \
  -p 12380:80 \
  -v /path/to/recordings:/bilirecord \
  -e JAVA_OPTS='-Drecord.userName=admin -Drecord.password=your_password -Dfile.encoding=UTF-8' \
  -m 512M \
  --restart always \
  FQrabbit/biliupforjava:latest

💡 路径提示:/path/to/recordings 必须和录播姬的录制目录保持一致

⁠方式二:本地部署
展开查看本地部署步骤
⁠前置条件
⁠运行命令
java -Dserver.port=12380 \
  -Drecord.work-path=/path/to/recordings \
  -Drecord.userName=你的用户名admin \
  -Drecord.password=你的密码your_password \
  -Duser.timezone=Asia/Shanghai \
  -Dfile.encoding=UTF-8 \
  -jar biliupforjava.war

🔒 安全提示

  • 强烈建议通过 -Drecord.userName 和 -Drecord.password 参数设置 Web 管理界面的登录密码
  • 如果部署在公网服务器,务必配置强密码或使用 SSH 隧道/VPN 访问
  • 默认无密码模式存在安全风险,任何人都可以访问管理界面
⁠Webhook 配置地址
录播姬 WebHook v2: http://192.168.x.x:12380/recordWebHook
blrec WebHook: http://192.168.x.x:12380/recordWebHook

⚠️ 重要提示

  • ✅ 使用容器名称 bup(需配置网络)
  • ✅ 或使用局域网 IP:http://192.168.x.x:12380/recordWebHook
  • ❌ 不要使用 localhost 或 127.0.0.1
  • ❌ 不要使用容器内部 IP

⁠📦 详细配置

⁠步骤 1:安装录播姬

选择以下任一录播姬:

选项 A:BililiveRecorder(推荐)

📖 官方文档⁠

# 拉取镜像
docker pull bililive/recorder:latest

# 运行容器
docker run -d \
  --name brec \
  -v /path/to/recordings:/rec \
  -p 2356:2356 \
  --restart always \
  bililive/recorder

推荐文件名格式:

{{ roomId }}-{{ name }}/{{ json.room_info.live_start_time | time_zone: "Asia/Shanghai" | format_date: "yyyy年" }}/{{ json.room_info.live_start_time | time_zone: "Asia/Shanghai" | format_date: "MM月" }}/{{ json.room_info.live_start_time | time_zone: "Asia/Shanghai" | format_date: "dd号" }}/{{ json.room_info.live_start_time | time_zone: 'Asia/Shanghai' | format_date: "yyyy年MM月dd号-HH点mm分ss秒开播" }}/{{ title }}-{{ "now" | time_zone: 'Asia/Shanghai' | format_date: "yyyy年MM月dd号-HH点mm分ss秒" }}-{{ partIndex | format_number: "000" }}.flv
选项 B:blrec

📖 GitHub 仓库⁠

# 拉取镜像
docker pull acgnhiki/blrec

# 运行容器
docker run -d \
  --name blrec \
  -v /path/to/recordings:/rec \
  -p 2233:2233 \
  --restart always \
  acgnhiki/blrec

推荐文件名格式:

{roomid} - {uname}/{year}年/{month}月/{day}号/{year}年{month}月{day}号{hour}{minute}{second}
⁠步骤 2:配置 Docker 网络

为了让录播姬和本项目能够相互通信,需要配置同一网络:

# 创建网络
docker network create bili-net

# 连接容器到网络
docker network connect bili-net brec  # 或 blrec
docker network connect bili-net bup
⁠步骤 3:配置 Webhook
⁠在录播姬中配置 Webhook

打开录播姬的 WebUI(默认端口 2356 或 2233),找到 Webhook 配置:

录播姬类型Webhook URL
BililiveRecorderhttp://bup/recordWebHook
blrechttp://bup/recordWebHook

⚠️ 重要提示

  • ✅ 使用容器名称 bup(需配置网络)
  • ✅ 或使用局域网 IP:http://192.168.x.x:12380/recordWebHook
  • ❌ 不要使用 localhost 或 127.0.0.1
  • ❌ 不要使用容器内部 IP
⁠步骤 4:配置本项目
  1. 访问 Web 管理界面:http://localhost:12380
  2. 首次使用请先登录(默认无密码,建议配置)
  3. 进入用户页面进行 B站账号登录
  4. 配置直播间设置:
    • 是否自动上传
    • 是否删除源文件
    • 上传用户选择
    • 标题、标签等投稿信息

⁠🎨 系统截图

点击查看界面截图
主页面房间管理
主页面用户管理
上传历史
上传历史详细信息

⁠❓ 常见问题

Q: Webhook 通知失败怎么办?

A: 检查以下几点:

  1. 确认两个容器在同一 Docker 网络中
  2. 在浏览器访问 Webhook URL 测试连通性
  3. 查看录播姬日志是否有错误信息
  4. 使用局域网 IP 而非 localhost
Q: 上传失败或卡住怎么办?

A: 可能的原因:

  • B站 Cookie 过期,需重新登录
  • 网络不稳定,检查上传带宽
  • 文件过大,检查磁盘空间
  • 查看日志获取详细错误信息
Q: 如何配置路径映射?

A: 确保路径一致性:

宿主机路径: /data/recordings
录播姬映射: /data/recordings:/rec
本项目映射: /data/recordings:/bilirecord

或在 Web 界面配置路径替换规则

Q: 支持多账号投稿吗?

A: 支持!在用户页面可以添加多个 B站账号,并在房间配置中选择对应的投稿账号。

Q: 内存占用多少?

A:

  • 最低需求:400MB
  • 推荐配置:512MB 或更高
  • 可通过 -m 参数限制:-m 512M

⁠💬 交流与支持


⁠🔗 相关项目

项目说明
BililiveRecorder⁠mikufans 录播姬
blrec⁠另一款优秀的 B站录播工具

⁠📄 许可证

本项目采用 LICENSE⁠ 许可证。


⁠⭐ Star History

如果这个项目对你有帮助,欢迎给个 Star ⭐

Star History Chart


Made with ❤️ for biliupforjava

Tag summary

Content type

Image

Digest

sha256:7423a6bbd…

Size

330.6 MB

Last updated

15 days ago

docker pull fqrabbit/biliupforjava