Skip to content

兼容哔哩哔哩录播姬的自动转封装、自动上传、弹幕转码脚本

License

Notifications You must be signed in to change notification settings

Moraxyc/Bililiveauto

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bililiveauto

目前脚本存在较严重的内存溢出问题,录制时间过长即可触发。等待后续重构解决

兼容B站录播姬的自动转封装、自动上传、弹幕转码脚本

下载

git clone https://github.com/Moraxyc/Bililiveauto

配置

此脚本使用.env文件作为配置文件,模板如下:

# .env

#是否开启debug模式,true/false
DEBUG=false

#是否上传原始文件?
UPLOAD_ORIGIN=false

#是否删除本地文件?
DELETE_LOCAL=true

#转封装原格式为:mp4 mkv etc.
CONVERT_FORMAT=mkv

#文件上传完成后是否提醒
NOTICE_FILE_UPLOADED=true

#哪些格式的文件上传完成后需要提醒
NOTICE_FILE_FORMAT=flv mkv

#时区
TZ=Asia/Shanghai

#监听端口
port=8081

#DanmakuFactory二进制文件路径
DANMU_FC_PATH=

#录播姬录制文件路径
BILI_FILE_PATH=

#rclone
RCLONE_CONFIG=/root/.config/rclone/rclone.conf
RCLONE_PATH=

#Apprise配置url,如若配置多个,可通过空格分割
APPRISE_URLS=

弹幕处理

弹幕处理使用了一个叫DanmakuFactory的项目

配置文件中的danmufc就需要自行编译DanmakuFactory后填入编译好的二进制文件地址

请在编译完成后自行配置并加上--save参数保存json文件以便使用。也可以使用下面我的配置:

{
    "resolution": [1920, 1080],
    "scrolltime": 12.000000,
    "fixtime": 5.000000,
    "density": -1,
    "fontname": "Microsoft YaHei",
    "fontsize": 38,
    "opacity": 180,
    "outline": 0,
    "shadow": 1,
    "displayArea": 0.300000,
    "scrollArea": 0.300000,
    "bold": false,
    "showUsernames": false,
    "showMsgbox": false,
    "msgboxSize": [500, 1080],
    "msgboxPos": [10, 0],
    "msgboxFontsize": 35,
    "giftMinPrice": 0.00,
    "blockmode": ["Btm","Special","Repeat"],
    "statmode": []
}

保存在编译好的二进制文件所在目录下的DanmakuFactoryConfig.json即可

本配置去除所有特殊弹幕、只在30%的屏幕上显示弹幕、共显示12秒、去除重复弹幕

自动转封装

本脚本使用FFmpeg来处理视频文件

录播姬录制下来的文件为flv格式,但编码就是h264,所以可以很方便地转封装为mkv或mp4格式以提高播放器兼容性

可通过CONVERT_FORMAT配置项指定

自动上传

自动上传使用rclone

rclone在后续npm install中,将由"rclone.js"自动下载

RCLONE_CONFIG填写配置文件路径,如果从未安装过rclone,可以通过npx rclone config添加配置,并通过npx rclone config file获取配置文件路径

RCLONE_PATH填写想要上传的远程路径即可,如od:Bililive

配置及使用建议Google一下,教程太多就不反复造轮子了

通知

脚本使用Apprise发送通知,配置方法见其项目wiki

由于Apprise是Python,因此需要安装python并用pip安装apprise

apt install python3 pip -y

pip install apprise

基本结构为URL,例如Telegram的Apprise URL便是tgram://123456:654545shbjkjadkshj653146/114514

该配置支持多个通知,只需用空格隔开即可

运行

运行本脚本需要先安装nodejs

建议使用nvm脚本快速安装

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash
nvm install --lts

安装依赖

npm install

然后在此脚本目录运行node server.js即可

pm2持久化运行

安装pm2

npm install pm2 -g

运行bililiveauto

pm2 start server.js --name bililiveauto

配置pm2开机自启 root用户全自动,非root用户请执行命令后根据提示复制命令执行

pm2 startup

储存当前服务列表并加入自启

pm2 save

此致,你的bililiveauto将自动在后台运行并在重启时自启。可使用pm2 status查看服务状态,pm2 logs bililiveauto查看日志,pm2 monit打开状态监视器。

最后一步

在录播姬的设置里, 将监听地址填入"webhook v2"即可, 如"http://127.0.0.1:8081"

鸣谢

Apprise

Bilibili直播

B站录播姬

DanmakuFactory

Rclone

FFmpeg

About

兼容哔哩哔哩录播姬的自动转封装、自动上传、弹幕转码脚本

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published