如何利用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),仅供参考