什么是Biliup?
Biliup是支持自动录制各大直播平台实时流,自动上传到bilibili。也支持twitch直播回放列表自动搬运至b站。
使用到的所有环境版本:
系统:Cento 7.6、系统应用:python 3.9.10、ffmpeg 4.4.1、nodejs、python-pip应用:streamlink 3.0.3、selenium 4.1.0、urllib3 1.26.7、requests 2.26.0
第一步:安装python
安装步骤参考:https://blog.waitsaber.org/archives/162
第二步:安装ffmpeg
安装步骤参考:https://blog.waitsaber.org/archives/161
第三步:nodejs
sudo yum install nodejs
第四步:安装biliup
pip快速安装
pip3 install biliup
源码安装
1、获取源码包
github下载 演示版本0.1.9:https://github.com/ForgQi/biliup/archive/refs/tags/v0.1.9.tar.gz
wget https://github.com/ForgQi/biliup/archive/refs/tags/v0.1.9.tar.gz
2、解压并安装
tar -xvf v0.1.9.tar.gz
cd biliup-0.1.9
pip3 install -e .
第五步:运行biliup
pip快速安装运行命令
biliup start #启动
biliup stop #停止
biliup restart #重启
biliup --version #查看版本号
biliup -h #查看帮助信息
注意:pip安装后需要手动创建配置文件config.yaml,需要在有配置文件的目录下执行命令才能正常运行
源码安装运行命令
python3 -m biliup start #启动
python3 -m biliup stop #停止
python3 -m biliup restart #重启
python3 -m biliup --version #查看版本号
python3 -m biliup -h #查看帮助信息
常见问题
常见问题可参考本站常见问题汇总,或者参考github wiki
注意:源码安装要运行需要将源码目录下config(demo).yaml重命名为config.yaml配置内容按需修改
user: # 在填了cookies的情况下优先使用cookies上传,如需使用用户名密码上传请注释掉cookies
# cookies:
# SESSDATA: your SESSDATA
# bili_jct: your bili_jct
# DedeUserID__ckMd5: your ckMd5
# DedeUserID: your DedeUserID
# access_token: your access_key
account:
username: your usrname
password: your password
# b站上传线路选择,默认为自动模式,目前可手动切换为bda2, kodo, ws, qn
lines: AUTO
# b站提交接口,默认自动选择,可选web,client
#submit_api: client
# 单文件并发上传数,未达到带宽上限时增大此值可提高上传速度
threads: 3
# 录像单文件大小限制,单位Byte,超过此大小分段下载
file_size: 2621440000
# 录像单文件时间限制,格式'00:00:00'(时分秒),超过此大小分段下载,如需使用大小分段请注释此字段
#segment_time: '00:50:00'
streamers:
星际2Stats拔本神族天梯第一视角: # 最小配置示例
url:
- https://www.twitch.tv/kimdaeyeob3
星际2INnoVation吕布卫星人族天梯第一视角: # 完整可选配置示例
url:
- https://www.twitch.tv/innovation_s2
- https://www.panda.tv/1160340
title: "星际2INnoVation吕布卫星人族天梯第一视角%Y-%m-%d" # 自定义标题的时间格式
tid: 171 # 投稿分区码,174为生活,其他分区
copyright: 2 # 1为自制
cover_path: /cover/up.jpg #设置视频封面
description: 视频简介
postprocessor: # 上传完成后,将按自定义顺序执行自定义操作
- run: echo hello! # 执行任意命令,等同于在shell中运行,视频文件路径作为标准输入传入
- mv: backup/ # 移动文件到backup目录下
# - rm # 删除文件,为默认操作
tags:
- 星际争霸2
- 电子竞技
format: mp4 # 视频保存格式
opt_args: # ffmpeg参数
- '-ss' # 跳过开始的16秒
- '00:00:16'
# 检测间隔时间,单位:秒
event_loop_interval: 40
# 相同平台检测间隔,单位:秒。不同平台的链接是并发的,不受此参数影响
checker_sleep: 15
# 线程池1大小,负责download事件
pool1_size: 3
# 线程池2大小,处理除download事件外所有其他事件
pool2_size: 3
# 检测源码文件变化间隔,单位:秒,检测源码到变化后,程序会在空闲时自动重启
check_sourcecode: 15
# 日志输出配置
LOGGING:
formatters:
verbose:
format: '%(asctime)s %(filename)s[line:%(lineno)d](Pid:%(process)d Tname:%(threadName)s) %(levelname)s %(message)s'
datefmt: '%Y-%m-%d %H:%M:%S'
simple:
format: '%(filename)s%(lineno)d[%(levelname)s]Tname:%(threadName)s %(message)s'
handlers:
console:
level: DEBUG
class: logging.StreamHandler
formatter: simple
stream: ext://sys.stdout
file:
level: DEBUG
class: biliup.common.log.SafeRotatingFileHandler
when: W0
interval: 1
backupCount: 1
filename: ds_update.log
formatter: verbose
root:
handlers: [ console ]
level: INFO
loggers:
biliup:
handlers: [ file ]
level: INFO
# 默认通过网页接口上传,可选通过操作chrome上传,此时需要填写chromedriver路径
#chromedriver_path: /usr/local/bin/chromedriver