什么是Biliup?
Biliup是支持自动录制各大直播平台实时流,自动上传到bilibili。也支持twitch直播回放列表自动搬运至b站。

使用到的所有环境版本:
系统:ubuntu server 20.04 LTS或debian 10.2、系统应用:python 3.8.10、python3-dev、pip 20、ffmpeg 4.2.4,python-pip应用:nodejs、streamlink 3.0.3、selenium 4.1.0、urllib3 1.26.7、requests 2.26.0

使用pip快速安装,推荐新手或不熟悉Linux的使用pip快速安装。

第一步:安装python3-dev
sudo apt install python3-dev
第二步:安装ffmpeg
sudo apt install ffmpeg
第三步:安装nodejs
sudo apt install nodejs
第四步:安装biliup
sudo pip3 install biliup
第五步:在保存文件的目录下创建配置文件
sudo touch /data/biliup/config.yaml
使用vi命令编辑文件
sudo vi /data/biliup/config.yaml
将文章末尾的配置文件示例粘贴进并修改即可
第六步:运行biliup
运行biliup需要进入到有配置文件的目录下执行否则会报错找不到配置文件
cd /data/biliup
biliup start #以后台模式运行
biliup stop #结束biliup进程
biliup restart #重启biliup进程

以下为源码安装步骤(需要非常熟悉Linux):

第一步:安装python3.8.10
sudo apt install -y python3.8
python3 -V #查看pyth#on版本号看是否是3.8.10或以上的版本
第二步:安装pip 20
sudo apt install -y python3-pip
pip3 -V #查看pip版本号与关联的python版本是否是第一步所安装的

第三步:安装python3-dev
sudo apt install -y python3-dev
apt list|grep python3-dev #查看软件列表并过滤出包含python3-dev的软件包,
软件包最后面如果有显示 [installed] 或 [installed,automatic] 则表示该软件已经安装
第四步:安装ffmpeg
sudo apt install -y ffmpeg
ffmpeg -version #查看是否正常安装ffpemg并列出版本号
第五步:下载biliup并安装
前往https://github.com/ForgQi/biliup/releases 查看最新的版本并右键“复制链接”
例如:wget https://github.com/ForgQi/biliup/archive/refs/tags/v0.1.9.tar.gz

ls 查看下载的文件名称
sudo tar -xvf v0.1.9.tar.gz 解压下载好的文件v0.1.9到当前目录
如果下载的是 .zip文件 则使用 sudo unzip v0.1.9.zip 解压到当前目录
cd biliup-0.1.9 使用cd命令进入当前目录下的biliup-0.1.9文件夹
sudo pip3 install -e . 在biliup文件内使用该命令来安装biliup,注意后面有个英文的点“.”
注意查看安装过程中是否有报错,如果出现下图的错误先检查pip3安装的urllib3、requests版本

pythonerr.png

pip3 list | grep urllib3 #查看pip3安装的软件列表并过滤列出包含urllib3的软件
pip3 list | grep requests #查看pip3安装的软件列表并过滤出包含requests的软件
如果urllib3版本低于1.26则进行升级,requests版本低于2.26也同样进行升级
sudo pip3 install --upgrade urllib3 #升级urllib3版本
sudo pip3 install --upgrade requests #升级requests版本
sudo pip3 install -e .  #再次执行安装程序,如果没有报错则进行下一步
第六步:安装quickjs
#使用pip3安装quickjs
sudo pip3 install quickjs
#查看是否安装成功,如有有列出软件名跟版本号则表示安装成功
pip3 list | grep quickjs

如果安装报错请检查是否安装了python3-dev 或者python-dev,如果你使用的是python3则需要安装python3-dev,python则安装python-dev,这里建议使用版本较高的python3

完成以上六个步骤则可以使用biliup进行录制了,biliup的配置文件参考文件夹内的config(dome).yaml,使用biliup start前请确保在执行命令的目录下存在config.yaml配置文件,且配置内容正确,否则会出现报错,yaml文件对空格比较敏感请仔细查看config(dome).yaml文件内的配置信息。

#biliup常用命令
# 启动
$ python3 -m biliup start
# 退出 
$ python3 -m biliup stop
# 重启 
$ python3 -m biliup restart
# 查看版本 
$ python3 -m biliup --version
# 显示帮助以查看更多选项
$ python3 -m biliup -h

常见问题

常见问题可参考本站常见问题汇总,或者参考github wiki

#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
#    app_key: bca7e84c2d947ac6 # 若账号密码方式无法登录可尝试更改此值
#    appsec: 60698ba2f68e01ce44738920a0ffe768 # 值可以参考 https://github.com/SocialSisterYi/bilibili-API-collect/blob/master/other/API_auth.md

# 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'
#douyucdn: tct-h5
# 如遇到斗鱼录制卡顿可以尝试切换线路,tct-h5(备用线路5),ali-h5(备用线路6),akm-h5(主线路1)
#huyacdn: AL
# 如遇到虎牙录制卡顿可以尝试切换线路,AL(阿里),BD(百度),TX(腾讯)

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'