+关注继续查看

个人介绍

目前为某高校本科三年级学生,同时兼任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

BilibiliUploader

安装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
path=$1
find $path -type f -name "*" -print | xargs -i sed -i '1 s/^\xef\xbb\xbf//' {}
echo "Convert finish"

使用软件

在.\DDRecorder-1.1.7目录下,使用指令
Python main.py
即可开始运行。

总结

由于B站上传API近期更新频繁,故需要经常更改BilibiliUploader,而可执行文件需要重新编译并上传至Github,故无法保证及时更新,建议使用源代码自行编译以保证功能。Windows server可以使用PowerShell进行命令操作,也可以用图形化界面进行操作,方便了初学用户的体验。
阿里云服务器ECS提供了Windows server、Ubuntu、CentOS等知名的服务器操作系统,并且均提供了多个版本,用户可以根据自己的需要进行选择。并且“飞天加速计划·高校学生在家实践”活动对学生有优惠,适合作为初学习的云服务器。

学生机免费试用体验
关于本次学生机试用情况我可以给出的评价是操作方便用的放心简化运维流程,降低运维成本,灵活性好。云服务器升级灵活,配置可以随意调节。 自助服务性。支持在线重置服务器密码,支持多服务器内网连接,支持用户自主安装系统。 The evaluation I can give about the trial of the student machine is that it is easy to operate and easy to simplify the operation and maintenance process, reduce the operation and maintenance c
云翼计划体验
我是在飞天加速计划的界面领取使用ECS,选择的是centOS 7.5系统。之后有想要学习的相关内容可以在ECS上部署,并且已经在ECS上搭建的基本的JAVA环境,以及正在学习安装hadoop3的环境,已经能够使用Xshell以及Xftp链接到ECS进行操作。
初次使用阿里云ECS的优质体验
云服务器作为众多开发者使用的一种简单高效、处理能力可弹性伸缩的计算服务,深受广大开发者的喜爱,与普通的IDC机房或服务器厂商相比,阿里云提供的云服务器ECS具有高可用性、安全性和弹性的优势。网站初始阶段访问量小,只需要一台低配置的云服务器ECS实例即可运行Apache或Nginx等Web应用程序、数据库、存储文件等。随着网站发展,您可以随时升级ECS实例的配置,或者增加ECS实例数量,无需担心低配计算单元在业务突增时带来的资源不足。