全平台主播录制+投稿 工具/服务
MIT License
🍰 Never miss your Streamer again
StreamerHelper 是一个主播录制工具,可以实时录制各平台直播保存为视频文件,并向B站自动投稿已缓存的文件。目前支持的平台有虎牙、斗鱼、B站、非洲台等。
(关于版权问题,投稿的参数默认一律设置的转载,简介处默认放有直播间链接)
首先安装 Docker。
# 本文以 /home/StreamerHelper/ 文件夹为例,作为应用的根目录。
# 拉取 Docker 镜像
docker pull umuoy1/streamerhelper
# 创建挂载目录
mkdir /home/StreamerHelper && cd /home/StreamerHelper && mkdir download/
# 下载配置文件保存到本地
curl https://raw.githubusercontent.com/umuoy1/StreamerHelper/master/templates/info-example.json >> info.json
通过以下指令运行容器。
docker run --name sh -itd \
-v /home/StreamerHelper/info.json:/app/templates/info.json \
-v /home/StreamerHelper/download:/app/download \
--dns 114.114.114.114 \
--restart always umuoy1/streamerhelper
如果没有配置access_token
,则需要扫码登录。具体操作方法如下,在控制台查看容器日志打印出二维码,然后通过B站移动客户端扫码登录。
# 打印日志中的二维码
docker logs sh
登陆成功后,录制任务自动开始。
# 通过 nvm 安装 Node.js
nvm install --lts
# 检查安装成功
node -v
npm -v
# Ubuntu
sudo add-apt-repository universe
sudo apt update
sudo apt install ffmpeg
# Debian
sudo apt update
sudo apt install ffmpeg
# CentOS 7
sudo yum install epel-release
sudo yum localinstall --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm
sudo yum install ffmpeg ffmpeg-devel
# CentOS 8
sudo yum-config-manager --add-repo=https://negativo17.org/repos/epel-multimedia.repo
sudo dnf install ffmpeg
# macOS
brew update
brew install ffmpeg
# 检查安装成功
ffmpeg
npm i -g pm2 --registry=https://registry.npmmirror.com
# --registry=https://registry.npmmirror.com 为 npm 官方源代理
git clone https://github.com/ZhangMingZhao1/StreamerHelper.git && cd StreamerHelper
npm i
npm run serve
从官网下载二进制文件,解压到指定位置,比如C:\
,然后将bin
目录添加到系统环境变量path
中。
npm i -g pm2 --registry=https://registry.npmmirror.com
# --registry=https://registry.npmmirror.com 为 npm 官方源代理
git clone https://github.com/ZhangMingZhao1/StreamerHelper.git && cd StreamerHelper
npm i
copy templates/info-example.json templates/info.json
npm run serve
目前不支持配置的热更新,更新配置后需要重启使配置生效。配置项的说明如下,加粗表示必填字段: 字段名(默认值): 字段说明
{{name}} {{time}}
。{
"StreamerHelper": {
"debug": false,
"roomCheckTime": 600,
"recycleCheckTime": 1800,
"videoPartLimitSize": 100
"logLevel": "error",
"push": {
"mail": {
"enable": true,
"host": "smtp.qq.com",
"port": 465,
"from": "***@qq.com",
"pwd": "***",
"to": "***@gmail.com",
"secure": true
},
"wechat": {
"enable": true,
"sendKey": "***"
}
}
},
"personInfo": {
"nickname": "",
"access_token": "",
"refresh_token": "",
"expires_in": 0,
"tokenSignDate": 0,
"mid": 0,
"cookies": ""
},
"streamerInfo": [
{
"name": "主播1",
"uploadLocalFile": true,
"deleteLocalFile": true,
"templateTitle": "{{name}}{{time}} 直播",
"delayTime": 0,
"desc": "",
"source": "",
"dynamic": "",
"copyright": 2,
"roomUrl": "https://live.xxx.com/111",
"tid": 121,
"tags": [
"tag1",
"tag2",
"tag3"
]
},
{
"name": "主播2",
"uploadLocalFile": true,
"deleteLocalFile": false,
"templateTitle": "{{name}}{{time}} 直播",
"delayTime": 1,
"desc": "",
"source": "",
"dynamic": "",
"copyright": 2,
"roomUrl": "https://live.xxx.com/222",
"tid": 171,
"tags": [
"tag1",
"tag2",
"tag3"
]
}
]
}
我们的测试机器配置以及环境如下:
cpu | mem | bps | OS | Node.js |
---|---|---|---|---|
Intel i5-4590 @ 3.30GHz | 2GB | 100m | Ubuntu 18.04 | 12.18.3 |
可以同时下载4个主播,不会产生卡顿。
Thanks:
见:https://space.bilibili.com/3356199 或者 https://space.bilibili.com/11314291
建议使用管口大的vps,否则上传下载速度可能会受影响。更新后请及时拉取像或git pull重新pm2 stop && npm run serve。vps比较低配的话配置的主播数量不要太多,也要注意vps的磁盘大小。日志文件会自动创建,在./logs/下。
有问题加qq群1142141023,备注streamerHelper
您的捐赠和star是开发者持续维护的最大动力!