直播监控录制工具,使用Java编写,支持抖音/B站/快手平台的直播间监控与录制。配合息知通知平台,可实现开播和下播通知功能。
- 直播监控:实时监控直播间状态(如观看人数、直播状态等)
- 抖音直播弹幕:实时获取直播弹幕信息[聊天,进场,点赞,统计,在线,排名,关注,状态,送礼]
礼物信息需要设置账号Cookie(弹幕信息本地持久化保存,直播监听完成可以将聊天弹幕信息自动装换为顶部飘动形式的ASS字幕文件) - 直播录制:支持录制直播画面,提供两种录制方式:
- Java原生录制(无需依赖FFmpeg)
- FFmpeg录制(需要配置FFmpeg路径)
- 通知功能:通过息知平台发送微信通知
- FLV播放器:内置简易FLV视频播放服务,
默认端口8000 - 直播监听可视化界面:实时监控各平台直播状态与录制信息,
默认端口8005,若端口占用,则自动向后累加,操作秘钥为设备标识ID
- 实时状态面板:展示各平台直播间状态、观看人数、录制进度等
- 网页添加直播间:直接在面板中选择平台、输入直播间ID,一键添加监控(自动生成
.room.json文件) - 批量控制按钮:一键全部开启监控 / 一键全部停止监控
- 网页密码保护:支持设置访问密码,首次打开需输入密码才能访问
- 自动锁屏:配置无操作时间后自动锁定面板,需重新输入密码解锁
- 在线视频解析:支持抖音视频链接解析下载
├─ bilibili-start [B站监控录制模块]
├─ douyin-start [抖音监控录制模块]
├─ kuaishou-start [快手监控录制模块]
├─ live-common [公共模块,包含核心功能与工具类]
├─ browser-utils [浏览器模块,以浏览器模拟请求]
├─ douyin-fetcher [抖音直播弹幕模块,获取抖音直播弹幕]
├─ live-monitor-record [主程序模块,集成所有平台功能]
- JDK版本:JDK 1.8 或更高
- 操作系统:
- 使用Java跨平台语言,理论上支持Windows,MacOS,Linux等所有主流操作系统,目前验证了Windows和Linux操作系统
- 运行环境:
- JDK 1.8 或更高
- 配置文件 xxxr.setting
- ffmpeg工具,根据不同的操作系统去下载对应的ffmpeg,下载完成后在配置文件中配置ffmpeg路径
启动方式 : 说明文档
-
编译打包:项目打包后会在
target/目录生成可执行 JAR 文件 -
运行脚本命令:-
集成模块(支持抖音/B站):
java -jar live-monitor-record-x.x.jar [直播间ID] [是否录制] [平台]
示例:
java -jar live-monitor-record-2.0.jar 622216334529 true DouYin -
平台专用模块:
java -jar 平台-start-x.x.jar [直播间ID] [是否录制]
示例:
java -jar douyin-start--2.0.jar 622216334529 true
-
-
交互式启动:不带参数运行后,通过命令行输入直播间信息启动 -
监听文件启动:通过读取监听文件(文件名后缀为
.room.json)的形式启动,一个直播间一个监听文件,将要监听的直播文件统一放入同一文件夹中,程序启动后会自动读取指定目录中的监听文件,可以一个进程同时监听多个直播间。支持运行时动态新增/修改监听文件,程序每10秒自动扫描目录。监听文件格式:示例
{
"isRecord": false,
"id": "622216334529",
"platform": "DouYin",
"setting": {
"runMode": "FILE",
"xiZhiUrl": "",
"delayIntervalSec": 30,
"openSubtitle": true
}
}- 集成模块:
示例:
java -cp live-monitor-record-x.x.jar cn.zhangheng.lmr.FileModeMain [监听文件目录]
java -cp live-monitor-record-3.5.jar cn.zhangheng.lmr.FileModeMain ./room
运行命令:
-
集成模块:
java -cp live-monitor-record-x.x.jar cn.zhangheng.common.activation.ActivationUtil
示例:
java -cp live-monitor-record-3.5.jar cn.zhangheng.common.activation.ActivationUtil pause
-
平台专用模块:
java -cp 平台-start-x.x.jar cn.zhangheng.common.activation.ActivationUtil
示例:
java -cp douyin-start--3.5.jar cn.zhangheng.common.activation.ActivationUtil pause
抖音示例:(完成登录后自动获取信息,完成后保存至文件中)
java -cp live-monitor-record-3.5.jar cn.zhangheng.douyin.browser.DouYinLogin
pauseB站示例:(登录完成后,需要手动将鼠标移动至账号头像处帮助程序识别获取,完成后保存至文件中)
java -cp live-monitor-record-3.5.jar cn.zhangheng.browser.login.BiliLogin
pause示例:启动后按照命令行提示输入即可,注意命令行窗口文字编码问题,输入Cookie时可以直接输入,也可以通过输入文件引用的形式file:douyin-cookie.txt,没有账号Cookie获取不到礼物信息
java -cp live-monitor-record-3.5.jar cn.zhangheng.douyin.browser.DouYinWebcast
pause- 系统托盘操作:
建议通过 任务栏图标右键菜单 退出程序,确保录制任务正常终止。
若使用FFmpeg录制,必须通过右键退出,否则可能导致录制进程未终止。 - 监控可视化界面操作: 打开直播监控界面后,可通过点击停止监控的操作按钮实现停止运行,若所有直播监控都停止了,那么程序将自动终止。
配置文件:xxxr.setting
# FLV播放器服务端口
server.flvPlayer.port=8000
# 息知通知地址(可选)
# notice.xiZhi.url=https://xizhi.qqoq.net/xxx.send
# notice.xiZhi.url=https://xizhi.qqoq.net/xxx.channel
# 是否转换录制的视频为MP4格式(需要配置FFmpeg)
record.FlvToMp4=true
# 录制类型:0-Java录制,1-FFmpeg录制
record.type=1
# FFmpeg可执行文件路径
record.ffmpegPath=bin/ffmpeg.exe
# 是否循环监听直播(直播结束后重新监听)
record.isLoop=true
# 监听间隔时间(秒)
monitor.delayIntervalSec=30
# 最大同时监听线程数,默认50
#monitor.maxMonitorThreads=50
#是否隐藏浏览器(默认隐藏)
#monitor.browserHeadless=false
# 直播开始/结束触发的快捷键(英文小写,逗号分隔)
living.start.shortcut=
living.end.shortcut=
# 各平台Cookie配置(可直接配置或通过文件引用,文件引用示例 file:Bili_Cookie.txt)
Cookie.Bilibili=
Cookie.DouYin=
Cookie.KuaiShou=
# 网页监控面板访问密码(为空则不启用密码保护)
server.password=
# 网页监控面板无操作自动锁屏时间(分钟),默认10
server.lockTimeoutMin=10- 网页添加直播间:监控面板新增平台选择+房间号输入框,一键添加监控,自动生成
.room.json文件并启动监听 - 最大线程数提升:同时监听上限从 10 → 50(
monitor.maxMonitorThreads)
- 网页面板密码保护:支持设置
server.password配置访问密码,首次打开需要输入密码;配合server.lockTimeoutMin实现无操作自动锁屏(默认10分钟) - 批量控制按钮:监控面板新增「全部开启监控」和「全部停止监控」按钮,一键控制所有直播间
- isLoop 修复:修复系统托盘图标因 isLoop 被错误覆盖而消失的问题
- 初始化失败 fallback:监听初始化失败时不再直接崩溃,改为等待10秒后自动重试;昵称获取失败时使用房间ID作为备用名继续监控
- Cookie.DouYin:新增抖音 Cookie 配置支持,解决验证码问题
- 定时扫描:支持运行时每10秒自动扫描目录新增的监听文件
- 预加载机制:修复新增文件在界面中不显示的问题,防止重复提交
- 移除激活验证:不再需要激活凭证文件
- GitHub 仓库:https://github.com/midpoint/LiveMonitoringRecording
- 原项目地址:Gitee | GitHub
- 演示视频: bilibili | 抖音
