引言

喜欢看 B 站直播的朋友,是不是经常遇到想保存精彩直播片段却手忙脚乱的情况?手动录制容易漏录,第三方工具又怕有广告或功能限制。今天推荐一个开源神器 ——Bililive-go,一款轻量高效的 B 站等平台直播录制工具。结合飞牛 NAS 的图形化优势,无需终端命令,直接通过界面操作即可完成部署,几分钟就能搭建属于自己的直播录制服务。

1 项目亮点

  • 专注 B 站直播:专为 B 站等直播设计,支持指定直播间自动录制,稳定抓取高清流

  • 容器化部署:Docker 镜像封装所有依赖,飞牛图形化操作一键启动,避免环境冲突

  • 数据持久化:配置文件和录制文件本地挂载,容器重启不丢失数据

  • Web 管理界面:通过浏览器即可配置录制任务,操作简单直观

  • 自动重启:服务异常时自动恢复,保证录制连续性

步骤 1:通过飞牛文件管理器创建目录和配置文件

  1. 打开飞牛系统的「文件管理器」,进入你想存放服务的目录(例如「我的应用」文件夹)

  2. 右键新建文件夹,命名为bililive-go(作为部署主目录)

  3. 进入bililive-go文件夹,右键新建子文件夹,命名为直播(用于存储录制的视频)

  4. bililive-go文件夹内,右键「新建文件」,命名为config.yml,双击打开并填入以下内容:

yaml

rpc:
  enable: true
  bind: :8080
debug: false
interval: 20
out_put_path: ./
ffmpeg_path: # 如果此项为空,就自动在环境变量里寻找
log:
  out_put_folder: ./
  save_last_log: true
  save_every_log: false
feature:
  use_native_flv_parser: false
live_rooms:
# qulity参数目前仅B站启用,默认为0
# (B站)0代表原画PRO(HEVC)优先, 其他数值为原画(AVC)
# 原画PRO会保存为.ts文件, 原画为.flv
# HEVC相比AVC体积更小, 减少35%体积, 画质相当, 但是B站转码有时候会崩
- url: https://www.lang.live/room/5664344
  is_listening: false
- url: https://live.bilibili.com/22603245
  is_listening: true
  quality: 0 
# '{{ .Live.GetPlatformCNName }}/{{ .HostName | filenameFilter }}/[{{ now | date "2006-01-02 15-04-05"}}][{{ .HostName | filenameFilter }}][{{ .RoomName | filenameFilter }}].flv'
# ./平台名称/主播名字/[时间戳][主播名字][房间名字].flv
# https://github.com/bililive-go/bililive-go/wiki/More-Tips
out_put_tmpl: ''
video_split_strategies:
  on_room_name_changed: false
  max_duration: 0s
  # 仅在 use_native_flv_parser=false 时生效
  # 单位为字节 (byte)
  # 有效值为正数,默认值 0 为无效
  # 负数为非法值,程序会输出 log 提醒,并无视所设定的数值
  max_file_size: 0
cookies: {}
on_record_finished:
  convert_to_mp4: false
  delete_flv_after_convert: false
#  当 custom_commandline 的值 不为空时,convert_to_mp4 的值会被无视,
#  而是在录制结束后直接执行 custom_commandline 中的命令。
#  在 custom_commandline 执行结束后,程序还会继续查看 delete_flv_after_convert 的值,
#  来判断是否需要删除原始 flv 文件。
#  以下是一个在录制结束后将 flv 视频转换为同名 mp4 视频的示例:
#  custom_commandline: '{{ .Ffmpeg }} -hide_banner -i "{{ .FileName }}" -c copy "{{ .FileName | trimSuffix (.FileName | ext)}}.mp4"'
  custom_commandline: ""
timeout_in_us: 60000000

# 通知服务配置
notify:
  telegram:
    # 是否开启Telegram通知
    enable: false
    # 是否启用声音通知
    withNotification: true
    # Telegram机器人Token
    botToken: ""
    # Telegram聊天ID
    chatID: ""
  email:
    # 是否开启Email通知
    enable: false
    # SMTP服务器地址 (例如: smtp.gmail.com, smtp.qq.com等)
    smtpHost: "smtp.qq.com"
    # SMTP服务器端口 (常用端口: 25, 465, 587)
    smtpPort: 465
    # 发送者邮箱地址
    senderEmail: ""
    # 发送者邮箱授权码或应用专用密码
    senderPassword: ""
    # 接收者邮箱地址 
    recipientEmail: ""

(保存时注意文件格式为.yml,而非.txt)

步骤 2:编写 docker-compose.yml

  1. bililive-go文件夹内,再次新建文件,命名为docker-compose.yml

  2. 双击打开并填入以下内容(路径已适配飞牛系统的相对路径):

version: '3'
services:
  Bililive-go:
    image: chigusa/bililive-go  # 使用官方镜像
    container_name: Bililive-go  # 容器名称,方便管理
    restart: always  # 容器退出时自动重启
    privileged: false  # 无需特权模式
    volumes:
      # 挂载本地配置文件到容器内(需确保本地config.yml已创建)
      - ./config.yml:/etc/bililive-go/config.yml
      # 挂载本地"直播"文件夹用于存储录制的视频(相对路径,与部署目录下的"直播"文件夹对应)
      - ./直播:/srv/bililive
    ports:
      - 2680:8080  # 主机机端口:容器内端口,通过主机2680访问Web界面
    network_mode: 'bridge'  # 使用桥接网络

步骤 3:通过飞牛 Docker 界面启动服务(无需终端命令)

  1. 打开飞牛系统的「Docker 管理」应用,进入「项目」标签页

  2. 点击右上角「创建项目」,在弹出的窗口中:

    • 项目名称:填写bililive-go(可自定义,方便识别)

    • 项目路径:点击「浏览」,选择之前创建的bililive-go文件夹(即存放 docker-compose.yml 的目录)

    • 配置文件:自动识别为该目录下的docker-compose.yml,确认无误后点击「确定」

  3. 返回「项目」列表,找到刚创建的bililive-go项目,创建项目

  4. 等待片刻,刷新页面后若状态显示「运行中」,则部署成功

3. 基础使用指南

  • 访问管理界面:打开浏览器,访问http://飞牛NAS的IP地址:2680,进入 Bililive-go 的 Web 控制台

  • 添加录制任务:在界面中输入 B 站直播间 ID,设置录制模式(手动 / 自动)、清晰度等参数

  • 查看录制文件:录制的视频会保存在飞牛文件管理器的bililive-go/直播文件夹中,其他设备可直接通过局域网共享访问

4. 注意事项

  • 目录权限:右键飞牛文件管理器中的直播文件夹,在「属性 - 权限」中设置为「可读可写」,避免容器无法写入录制文件

  • 存储空间:直播文件体积较大,建议运行后根据自身硬盘空间配置状态修改直播文件保存路径

  • 网络稳定性:确保飞牛 NAS 的网络连接稳定,避免断网导致录制中断

  • 版本更新:如需更新镜像,进入「Docker 管理 - 本地镜像」,选中bililive-go点击「更新」即可(飞牛会自动拉取最新镜像,更新镜像前需手动停止docker容器运行

项目地址:bililive-go/bililive-go: 一个直播录制工具

5.支持网站(仅供参考)

站点

url

支持情况

cookie

Acfun直播

live.acfun.cn

支持

哔哩哔哩直播

live.bilibili.com

支持

支持

战旗直播

www.zhanqi.tv

支持

斗鱼直播

www.douyu.com

支持

虎牙直播

www.huya.com

支持

CC直播

cc.163.com

支持

一直播

www.yizhibo.com

支持

OPENREC

www.openrec.tv

支持

企鹅电竞

egame.qq.com

支持

浪live

play.lang.live & www.lang.live

支持

花椒

www.huajiao.com

支持

抖音直播

live.douyin.com

支持

支持

猫耳

fm.missevan.com

支持

克拉克拉

www.hongdoufm.com

支持

YY直播

www.yy.com

支持

微博直播

weibo.com

支持

6. 项目截图