搭建 biliup

By | 2022-11-28

原文地址 blog.waitsaber.org

ubuntu20/debian10 搭建 biliup0.1.9(超详细)


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

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

第一步:
安装python3.8.10sudo apt install -y 
python3.8python3 -V #查看pyth#on版本号看是否是3.8.10或以上的版本
第二步:
安装pip 20sudo apt install -y 
python3-pippip3 -V #查看pip版本号与关联的python版本是否是第一步所安装的
第三步:
安装python3-devsudo apt install -y 
python3-devapt list|grep python3-dev #查看软件列表并过滤出包含python3-dev的软件包,软件包最后面如果有显示 [installed] 或 [installed,automatic] 则表示该软件已经安装
第四步:
安装ffmpegsudo apt install -y 
ffmpegffmpeg -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 版本

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安装quickjssudo 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'