全自动录播、投稿工具,支持twitch、YouTube频道搬运,提供Python分p上传b站接口
本文使用的环境如下:windows server 2016、python 3.9.10、quickjs 1.17、ffmpeg version git-2020-08-31-4a11a6f、biliup 0.2.2、notepad++ 8.3.3
第一步:安装python
前往官网下载推荐使用3.8.10或3.9.10的版本,不太建议使用最新的3.10版本。
直接点击windows installer即可进行下载,根据对应系统位数选择对应的版本(64或32)。
安装时一定要勾选上 Add Python 3.9 to PATH 勾选后python会自动添加系统环境变量无需手动添加。
如不想使用默认的安装路径可以选择 Customize installation 进行自定义安装更改安装路径,完全保持默认直接选择 Install Now即可进行安装。
安装完后建议先选择 Disable path length limit 避免因为路径过长报错,后点击 Close 关闭窗口。
验证安装是否正常
按Windows+R键 输入cmd 回车后输入python -V 有返回版本号说明安装成功,如没有返回版本号请卸载从新按照步骤进行安装。
### 第二步:安装js处理程序,quickjs或者nodejs均可
本文使用python安装quickjs
按Windows+R键 输入cmd 回车后输入pip install quickjs
验证安装是否正常
按Windows+R键 输入cmd 回车后输入pip list 有看见quickjs 即已安装成功
第三步:安装ffmpeg
安装ffmpeg过程可以参考:https://blog.waitsaber.org/archives/97
第四步:安装biliup
使用pip快速获取并安装biliup
打开cmd 输入pip install biliup 即可进行安装
验证安装是否正常
按Windows+R键 输入cmd 回车后输入 biliup --version
有返回版本号说明安装成功
第五步:安装notepad++或者editpule编辑配置文件
notepad++官网 Editpule官网
在文件保存目录下右键新建文本文档,重命名为config.yaml 使用notepad++进行编辑,左键双击右下角的windwos(CR LF) 选择 Unix 将文本转换为Unix编码格式 否则程序无法识别。
将文末的 配置文件示例粘贴进config.yaml 参照注释进行修改。
第六步:运行biliup
按Windows+R键 输入cmd 回车后输入 cd -d 配置文件所在目录(例:C:\Program Files\biliup)
输入 biliup 回车 即可运行注意不要关闭窗口,关闭窗口就关闭了程序,直接最小化窗口即可。
在windows环境下并没有像linux那样方便可以使用后台模式运行,windows环境下运行命令只有一个即 biliup
linux下的biliup stop、biliup restart均无法使用。
如需关闭直接关闭窗口即可,重启需要关闭窗口后再执行开始命令。
常见问题
常见问题可参考本站常见问题汇总,或者参考github wiki
配置文件示例
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
# app_key: bca7e84c2d947ac6 # 若账号密码方式无法登录可尝试更改此值
# appsec: 60698ba2f68e01ce44738920a0ffe768
# 选择上传插件
uploader: bili_web
# 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'
filtering_threshold: 20 # 小于此大小的视频文件将会被过滤删除,单位MB
# 如遇到斗鱼录制卡顿可以尝试切换线路,tct-h5(备用线路5),ali-h5(备用线路6),akm-h5(主线路1)
#douyucdn: tct-h5
# 如遇到虎牙录制卡顿可以尝试切换线路,AL(阿里),BD(百度),TX(腾讯)
#huyacdn: AL
# 如遇到哔哩哔哩录制跳帧可以尝试修改platform值,web(flv),h5(m3u8)
#biliplatform: web
streamers:
星际2Stats拔本神族天梯第一视角: # 最小配置示例
url:
- https://www.twitch.tv/kimdaeyeob3
星际2INnoVation吕布卫星人族天梯第一视角: # 完整可选配置示例
url:
- https://www.twitch.tv/innovation_s2
- https://www.panda.tv/1160340
title: "{title}第一视角%Y-%m-%d" # 自定义标题的时间格式, {title}代表直播间标题
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