news 2026/5/1 7:44:05

如何利用BililiveRecorder命令行版构建Linux服务器自动化录播系统

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
如何利用BililiveRecorder命令行版构建Linux服务器自动化录播系统

如何利用BililiveRecorder命令行版构建Linux服务器自动化录播系统

【免费下载链接】BililiveRecorder录播姬 | mikufans 生放送录制项目地址: https://gitcode.com/gh_mirrors/bi/BililiveRecorder

BililiveRecorder是一款专为B站直播设计的开源录制工具,其命令行版本为Linux服务器环境提供了轻量级、高稳定性的录播解决方案。通过命令行操作和Web管理界面,用户可实现无人值守的24小时直播录制,支持多房间管理、自定义存储路径及自动化任务配置,特别适合技术管理员构建高效可靠的直播内容存档系统。

从零开始部署:Linux环境准备与源码编译

在开始部署前,需确保服务器已安装.NET 6运行时环境。对于Ubuntu/Debian系统,可通过以下命令完成基础环境配置:

sudo apt update && sudo apt install -y dotnet-runtime-6.0

获取项目源码并编译命令行程序:

git clone https://gitcode.com/gh_mirrors/bi/BililiveRecorder cd BililiveRecorder dotnet build BililiveRecorder.Cli -c Release

编译完成后,可在BililiveRecorder.Cli/bin/Release/net6.0目录下找到可执行文件,建议将其复制到系统PATH路径中方便调用:

sudo cp BililiveRecorder.Cli/bin/Release/net6.0/BililiveRecorder.Cli /usr/local/bin/

两种运行模式实战:配置文件与便携模式对比

配置文件模式部署

配置文件模式适合长期运行的场景,通过工作目录集中管理配置和录制文件:

# 初始化工作目录 BililiveRecorder.Cli init /opt/bililive-recorder # 编辑配置文件(设置录制参数、房间信息等) nano /opt/bililive-recorder/config.json # 启动服务 BililiveRecorder.Cli run /opt/bililive-recorder

便携模式快速录制

便携模式无需预配置,直接通过命令行参数指定输出路径和房间号:

# 录制单个房间 BililiveRecorder.Cli portable /data/recordings 123456 # 同时录制多个房间 BililiveRecorder.Cli portable /data/recordings 123456 789012 --threads 2

配置Web管理界面:远程监控与控制方案

启用内置Web服务实现远程管理,在启动命令中添加HTTP参数:

BililiveRecorder.Cli run /opt/bililive-recorder \ --http-bind 0.0.0.0:2356 \ --http-basic-user admin \ --http-basic-pass SecurePass123!

访问http://服务器IP:2356即可打开Web管理界面,支持:

  • 实时查看录制状态
  • 管理录制房间列表
  • 配置录制参数
  • 查看存储空间使用情况

房间管理高级操作:批量配置与自动化规则

交互式配置向导

通过配置向导批量添加和管理房间:

BililiveRecorder.Cli configure /opt/bililive-recorder

在向导中可设置:

  • 房间ID和录制优先级
  • 录制质量(原画/高清/标清)
  • 弹幕录制选项
  • 文件分割规则

命令行直接管理房间

# 添加房间 BililiveRecorder.Cli room add /opt/bililive-recorder 123456 --name "主播名称" --quality 10000 # 暂停录制 BililiveRecorder.Cli room pause /opt/bililive-recorder 123456 # 查看房间状态 BililiveRecorder.Cli room list /opt/bililive-recorder

录制参数深度定制:从文件命名到存储策略

自定义文件名模板

编辑配置文件设置个性化命名规则:

{ "fileNameTemplate": "{RoomName}/{Date:yyyyMMdd}/{RoomId}_{Date:HHmmss}_{Quality}.flv", "cuttingMode": "ByDuration", "cuttingDuration": 3600 }

存储策略配置

实现自动文件管理和清理:

# 设置磁盘空间阈值(剩余空间低于10GB时停止录制) BililiveRecorder.Cli config set /opt/bililive-recorder storage.min-free-space 10GB # 启用自动清理(保留最近30天文件) BililiveRecorder.Cli config set /opt/bililive-recorder storage.auto-clean true BililiveRecorder.Cli config set /opt/bililive-recorder storage.retention-days 30

系统服务配置:实现开机自启与故障恢复

创建Systemd服务单元文件/etc/systemd/system/bililive-recorder.service

[Unit] Description=BililiveRecorder Service After=network.target [Service] User=recorder WorkingDirectory=/opt/bililive-recorder ExecStart=/usr/local/bin/BililiveRecorder.Cli run /opt/bililive-recorder Restart=always RestartSec=5 Environment=DOTNET_ENVIRONMENT=Production [Install] WantedBy=multi-user.target

启用并启动服务:

sudo systemctl daemon-reload sudo systemctl enable bililive-recorder sudo systemctl start bililive-recorder

常见问题对比:与同类录播工具的核心差异

特性BililiveRecorder普通屏幕录制软件浏览器插件录播
资源占用低(仅网络流录制)高(全屏捕获)中(依赖浏览器)
直播识别自动识别开播状态需手动启动需手动启动
多房间支持无限房间同时录制通常单任务有限标签页
录制质量原始流质量受屏幕分辨率限制受浏览器性能影响
弹幕支持完整弹幕记录需额外插件
后台运行完全支持需保持窗口打开需保持浏览器打开

最佳实践:三种典型应用场景配置方案

场景一:个人直播收藏系统

适合录制少量关注主播的直播内容:

# 创建专用工作目录 mkdir -p ~/bililive/personal BililiveRecorder.Cli init ~/bililive/personal # 添加关注的主播房间 BililiveRecorder.Cli room add ~/bililive/personal 123456 --name "技术主播" BililiveRecorder.Cli room add ~/bililive/personal 654321 --name "游戏主播" # 启动服务并设置开机自启 cat > ~/.config/systemd/user/bililive-recorder.service << EOF [Unit] Description=Personal Bililive Recorder After=network.target [Service] WorkingDirectory=$HOME/bililive/personal ExecStart=/usr/local/bin/BililiveRecorder.Cli run $HOME/bililive/personal Restart=always [Install] WantedBy=default.target EOF systemctl --user enable bililive-recorder systemctl --user start bililive-recorder

场景二:小型工作室多房间录制

适合需要同时录制多个房间的团队使用:

# 创建工作目录 sudo mkdir -p /srv/bililive/studios sudo chown -R recorder:recorder /srv/bililive # 初始化配置并设置并发录制 BililiveRecorder.Cli init /srv/bililive/studios BililiveRecorder.Cli config set /srv/bililive/studios max-concurrent-recordings 4 # 批量导入房间列表(从文件导入) cat > room-list.txt << EOF 123456,技术部直播 654321,设计部直播 987654,产品发布会 112233,客户支持 EOF BililiveRecorder.Cli room import /srv/bililive/studios room-list.txt # 配置Web访问(仅内网访问) BililiveRecorder.Cli config set /srv/bililive/studios http.bind 192.168.1.100:2356 BililiveRecorder.Cli config set /srv/bililive/studios http.basic-auth true BililiveRecorder.Cli config set /srv/bililive/studios http.username studioadmin BililiveRecorder.Cli config set /srv/bililive/studios http.password Studio@Pass2023

场景三:带自动转码的存档系统

录制后自动转码为MP4格式并保留原始文件:

# 初始化工作目录 BililiveRecorder.Cli init /srv/bililive/archive # 配置文件命名和存储 BililiveRecorder.Cli config set /srv/bililive/archive file-name-template "{RoomId}/{Year}/{Month}/{Day}/{Hour}_{Minute}_{Second}.flv" BililiveRecorder.Cli config set /srv/bililive/archive output.directory /srv/storage/raw-recordings # 配置录制后脚本(自动转码) cat > /srv/bililive/archive/post-record.sh << 'EOF' #!/bin/bash INPUT_FILE="$1" OUTPUT_DIR="/srv/storage/encoded/$(dirname "${INPUT_FILE#/srv/storage/raw-recordings/}")" mkdir -p "$OUTPUT_DIR" ffmpeg -i "$INPUT_FILE" -c:v libx264 -crf 23 -c:a aac -b:a 128k "${OUTPUT_DIR}/$(basename "${INPUT_FILE%.flv}.mp4")" EOF chmod +x /srv/bililive/archive/post-record.sh BililiveRecorder.Cli config set /srv/bililive/archive script.post-record /srv/bililive/archive/post-record.sh

性能优化与故障排除

资源占用优化

针对低配置服务器的优化建议:

# 降低日志详细程度 BililiveRecorder.Cli config set /opt/bililive-recorder log.level warning # 限制单房间带宽使用 BililiveRecorder.Cli config set /opt/bililive-recorder network.max-bandwidth-per-room 5M # 调整缓冲区大小 BililiveRecorder.Cli config set /opt/bililive-recorder buffer.size 32MB

常见故障排查

问题1:录制文件大小为0

# 检查网络连接 BililiveRecorder.Cli test-connection /opt/bililive-recorder # 查看房间状态 BililiveRecorder.Cli room status /opt/bililive-recorder 123456

问题2:Web界面无法访问

# 检查服务状态 systemctl status bililive-recorder # 验证端口监听 netstat -tulpn | grep 2356 # 检查防火墙设置 sudo ufw allow 2356/tcp

通过以上配置和最佳实践,管理员可以构建一个高效、可靠的B站直播自动化录制系统,满足从个人到小型团队的各种录播需求。BililiveRecorder命令行版的灵活性和稳定性使其成为Linux服务器环境下的理想选择。

【免费下载链接】BililiveRecorder录播姬 | mikufans 生放送录制项目地址: https://gitcode.com/gh_mirrors/bi/BililiveRecorder

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 0:37:38

手把手教你用PyTorch-2.x镜像跑通第一个神经网络例子

手把手教你用PyTorch-2.x镜像跑通第一个神经网络例子 你是不是也经历过这样的时刻&#xff1a;刚装好CUDA、配好环境、pip install了一堆包&#xff0c;结果运行第一个torch.cuda.is_available()就返回False&#xff1f;或者Jupyter里明明写了import torch&#xff0c;却提示M…

作者头像 李华
网站建设 2026/5/1 3:44:34

电源软启动电路实现原理:实战项目应用

以下是对您提供的博文内容进行深度润色与专业重构后的版本。本次优化严格遵循您的全部要求&#xff1a;✅ 彻底去除AI痕迹&#xff0c;语言自然、专业、有“人味”——像一位资深电源工程师在技术分享会上娓娓道来&#xff1b;✅ 摒弃所有模板化标题&#xff08;如“引言”“总…

作者头像 李华
网站建设 2026/5/1 4:48:05

Charting Library全栈集成指南:从框架选型到性能优化

Charting Library全栈集成指南&#xff1a;从框架选型到性能优化 【免费下载链接】charting-library-examples Examples of Charting Library integrations with other libraries, frameworks and data transports 项目地址: https://gitcode.com/gh_mirrors/ch/charting-lib…

作者头像 李华
网站建设 2026/5/1 4:49:11

BepInEx插件加载失败深度排查指南:从现象到解决方案

BepInEx插件加载失败深度排查指南&#xff1a;从现象到解决方案 【免费下载链接】BepInEx Unity / XNA game patcher and plugin framework 项目地址: https://gitcode.com/GitHub_Trending/be/BepInEx 问题现象&#xff1a;插件明明在文件夹&#xff0c;为何BepInEx视而…

作者头像 李华
网站建设 2026/5/1 4:46:49

Moondream2本地部署指南:让电脑秒变图片分析专家

Moondream2本地部署指南&#xff1a;让电脑秒变图片分析专家 1. 引言&#xff1a;你的电脑&#xff0c;缺的只是一双“眼睛” 你有没有过这样的时刻—— 看到一张产品图&#xff0c;想快速写个电商详情页&#xff0c;却卡在“怎么准确描述这个包的质感和设计细节”&#xff1…

作者头像 李华