个人介绍
目前为某高校本科三年级学生,同时兼任B站某直播UP主的录播组工作。因为需要24小时对直播进行录制和上传,故在网络上寻找合适的方法。“飞天加速计划·高校学生在家实践”活动是阿里推出的针对学生的优惠,阿里云服务器在同类竞品中也很有优势,故采用阿里云服务器ECS实现直播的录制和上传工作。
功能实现
软件:📺Headless全自动B站直播录播、切片、上传一体工具
操作系统:Windows Server 2019 datacenter
环境:Python3.9.6,FFmpeg
Python和FFmpeg
Python版本要求至少为Python3.8,FFmpeg版本为最新版April 8th, 2021, FFmpeg 4.4 "Rao"
Python为软件的主要运行环境,版本要求至少为3.8,并将pip更新至最新。FFmpeg为视频转码工具,由于B站直播推流采用FLV文件,无法直接处理,需要用FFmpeg将FLV文件转为MP4文件。同时因为B站web端上传有4G的文件大小限制,需要使用FFmpeg将视频分段以方便上传。
安装方法根据Windows和Linux/MacOS有区分,在此不做拓展。Windows用户需要额外配置环境变量,而Linux和MacOS用户则需要将系统默认的Python指令指向计算机上的最新版本(如Python3.9.6),否则编译过程会出错。
下载最新的B站上传API
安装DDRecorder
建议在GitHub下载源码并编译使用,不建议直接使用可执行文件!
由于B站的视频上传相关API更改,故原图形化界面已不再适用,需要下载源码并重新编译才可以使用。
BilibiliUploader
首先在GitHub上下载DDRecorder v1.1.7的SourceCode。
配置好Python和FFmpeg后,打开终端/PowerShell,进入解压好的源代码目录。Windows用户亦建议使用命令行,效率更高,详细操作为cd .\DDRecorder-1.1.7
将之前下载好的BilibiliUploader文件夹复制/移动到源代码文件夹下,并覆盖原文件。
然后执行命令pip install -r requirements.txt
注:本步骤要求pip版本为最新版本,请提前执行
python -m pip install --upgrade pip
将pip更新至最新。
安装完毕后,打开.\DDRecorder-1.1.7\config文件夹,修改config.json文件的参数,详细参数见原GitHub主页。
注:Config.json文件要求编码为UTF-8(无BOM),需要转码才可使用。Windows用户可使用Notepad++进行修改,Linux/Mac用户可通过shell脚本完成。
shell转换脚本原地址,具体脚本内容如下:
#!/bin/bash
#将UTF-8带BOM编码的文件转化为UTF-8无BOM格式
if [[ -z "$1" ]];then
echo '用法:./rmbom.sh [folder | file]'
echo '将UTF-8编码的文件转化为UTF-8无BOM格式'
exit 1
fi
path=$1
find $path -type f -name "*" -print | xargs -i sed -i '1 s/^\xef\xbb\xbf//' {}
echo "Convert finish"
AI 代码解读
使用软件
在.\DDRecorder-1.1.7目录下,使用指令Python main.py
即可开始运行。
总结
由于B站上传API近期更新频繁,故需要经常更改BilibiliUploader,而可执行文件需要重新编译并上传至Github,故无法保证及时更新,建议使用源代码自行编译以保证功能。Windows server可以使用PowerShell进行命令操作,也可以用图形化界面进行操作,方便了初学用户的体验。
阿里云服务器ECS提供了Windows server、Ubuntu、CentOS等知名的服务器操作系统,并且均提供了多个版本,用户可以根据自己的需要进行选择。并且“飞天加速计划·高校学生在家实践”活动对学生有优惠,适合作为初学习的云服务器。