用云服务器实现B站直播录屏

简介: 利用云服务器ECS实现B站直播录屏、弹幕记录、投稿上传等操作。

个人介绍

目前为某高校本科三年级学生,同时兼任B站某直播UP主的录播组工作。因为需要24小时对直播进行录制和上传,故在网络上寻找合适的方法。“飞天加速计划·高校学生在家实践”活动是阿里推出的针对学生的优惠,阿里云服务器在同类竞品中也很有优势,故采用阿里云服务器ECS实现直播的录制和上传工作。

功能实现

软件:📺Headless全自动B站直播录播、切片、上传一体工具
操作系统:Windows Server 2019 datacenter
环境:Python3.9.6FFmpeg

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
fi
 
 
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等知名的服务器操作系统,并且均提供了多个版本,用户可以根据自己的需要进行选择。并且“飞天加速计划·高校学生在家实践”活动对学生有优惠,适合作为初学习的云服务器。

相关实践学习
通义万相文本绘图与人像美化
本解决方案展示了如何利用自研的通义万相AIGC技术在Web服务中实现先进的图像生成。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
3月前
|
存储 弹性计算 测试技术
租用阿里云服务器38元、99元和199元配置:使用场景及注意事项全解析
阿里云三款云服务器:38元轻量应用服务器适合个人博客与小型应用;99元ECS经济型实例适用于中小型Web应用与开发测试;199元ECS u1实例提供高性能,适合企业官网及数据处理场景,新老用户均可选购。
401 0
|
人工智能 自然语言处理 搜索推荐
DeepMind终结大模型幻觉?标注事实比人类靠谱、还便宜20倍,全开源
【4月更文挑战第5天】DeepMind推出开源工具SAFE,挑战大模型的幻觉,提升事实评估准确性和效率。通过自动化和搜索引擎验证,SAFE在成本上比人类标注便宜20倍,且在72%的时间与人类一致,显示了在大规模事实验证中的潜力。然而,依赖谷歌搜索和易受长文本信息过载影响是其局限性。
264 13
DeepMind终结大模型幻觉?标注事实比人类靠谱、还便宜20倍,全开源
|
12月前
|
数据可视化 数据管理 项目管理
职场打工人怎么记录日常工作?5款热门工具的优缺点分析
本文介绍了五款高效的工作记录工具,包括板栗看板、Miro、Airtable、Notion 和 Wrike,分别针对任务管理、创意协作、数据库管理、多功能笔记及跨团队协作等不同需求,通过对比它们的使用场景、优缺点及其适用性,帮助读者选择最适合自身需求的工具。
2403 0
职场打工人怎么记录日常工作?5款热门工具的优缺点分析
|
机器学习/深度学习 人工智能 自然语言处理
【AI大模型】ChatGPT模型原理介绍(下)
【AI大模型】ChatGPT模型原理介绍(下)
|
移动开发 小程序 视频直播
FFmpeg开发笔记(二十七)解决APP无法访问ZLMediaKit的直播链接问题
本文讲述了在使用ZLMediaKit进行视频直播时,遇到移动端通过ExoPlayer和微信小程序播放HLS直播地址失败的问题。错误源于ZLMediaKit对HTTP地址的Cookie校验导致401无权限响应。通过修改ZLMediaKit源码,注释掉相关鉴权代码并重新编译安装,解决了此问题,使得ExoPlayer和小程序能成功播放HLS视频。详细解决方案及FFmpeg集成可参考《FFmpeg开发实战:从零基础到短视频上线》一书。
772 3
FFmpeg开发笔记(二十七)解决APP无法访问ZLMediaKit的直播链接问题
|
传感器 供应链 物联网
未来技术的融合与革新:区块链、物联网、虚拟现实的交汇点
随着科技的不断进步,新兴技术如区块链、物联网(IoT)和虚拟现实(VR)正在逐渐改变我们的生活和工作方式。本文将深入探讨这些技术的发展趋势及其在现实世界中的应用场景,揭示它们如何相互融合,共同塑造未来的技术生态。
|
存储 运维 算法
CSMA/CD和CSMA/CA的区别(最全知识点总结)
CSMA/CD和CSMA/CA的区别(最全知识点总结)
3023 0
|
存储 JSON Java
Java基于API接口爬取淘宝商品数据
随着互联网的普及和电子商务的快速发展,越来越多的商家选择在淘宝等电商平台上销售商品。对于开发者来说,通过API接口获取淘宝商品数据,可以更加便捷地进行数据分析和商业决策。本文将介绍如何使用Java基于淘宝API接口爬取商品数据,包括请求API、解析JSON数据、存储数据等步骤,并提供相应的代码示例
|
数据安全/隐私保护 安全
单点登录(SSO)看这一篇就够了
背景 在企业发展初期,企业使用的系统很少,通常一个或者两个,每个系统都有自己的登录模块,运营人员每天用自己的账号登录,很方便。但随着企业的发展,用到的系统随之增多,运营人员在操作不同的系统时,需要多次登录,而且每个系统的账号都不一样,这对于运营人员来说,很不方便。
277654 15
|
Java
Java中Calendar类中月、星期、日 是否要加减1及其原因
Java中Calendar类中月、星期、日 是否要加减1及其原因
492 0