使用Docker部署多平台直播自动录制系统bililive-go

2024-02-20  本文已影响0人  半理想主义

转载:https://www.huluohu.com/posts/448/
bililive-go 是一个支持多种直播平台的直播录制工具,支持本地运行和Docker部署

准备工作

创建应用目录,例如在volume1/docker下创建文件夹bililive
在bililive文件夹下再创建一个空文件config.yml
NAS上安装好docker-compose

安装bililive-go

第一步、 在/volume1/docker/bililive文件夹下创建文件docker-compose.yml,
第二步、 并将下面内容复制粘贴到docker-compose.yml中,保存:

version: '3.8'
services:
  bililive:
    image: 'chigusa/bililive-go:latest'
    container_name: bililive
    restart: unless-stopped
    network_mode: bridge
    ports:
      - '5009:8080'
    volumes:
      - /volume1/docker/bililive/config.yml:/etc/bililive-go/config.yml
      - /volume1/docker/bililive/Videos:/srv/bililive
image.png

第三步、 在NAS的SSH中,切换到bililive文件夹下,执行下面命令启动:

docker-compose up -d

第四步、 等待应用启动完成后,打开WebUI
在浏览器中输入NAS的IP+端口,例如:192.168.0.102:5009


image.png

如果你发现打不开网页,可以打开前面提到的config.yml文件,在里面增加以下配置,然后重启容器:

rpc: 
  enable: true           # 是否开启API
  bind: 0.0.0.0:8080    # 监听地址
debug: true              # debug模式

原因是bililive-go本身没有身份验证功能,基于安全考虑,默认监听的是127.0.0.1,仅支持在本机访问。上面的核心配置就是把监听地址改为0.0.0.0,支持任何主机访问。

1、添加直播间
接下来使用就非常简单了,从以上平台点开直播间,复制浏览器上地址框中的链接,然后粘贴到过来。

image.png

点击OK,系统就会自动识别平台和链接有效性,如果没问题,就直接添加进来了。

image.png

重要的事情说三遍:添加好直播间链接后记得点击保存设置!添加好直播间链接后记得点击保存设置!添加好直播间链接后记得点击保存设置!

2、查看录制文件
添加完成的直播间链接,bililive-go会自动开始监控,当直播开始后就会自动录制。直播录制的视频文件会保存在我们上面设置的目录中,系统按平台分别创建文件夹保存视频。

在Web界面中,点击直播间右侧的文件按钮,可以看到已经保存的视频文件,默认的格式是.flv,可以设置录制完成后转为.mp4格式

image.png
其他配置
你也可以直接在Web界面直接修改配置文件(对应的就是config.yml文件)。点击设置菜单,在右侧编辑框中输入配置参数即可,最后记得点击保存设置。 image.png

相关的参数含义详见下面:

# config.yml
rpc: 
  enable: false           # 是否开启API
  bind: 127.0.0.1:8080    # 监听地址
debug: false              # debug模式
interval: 15              # 直播间状态查询间隔时间(秒)
out_put_path: ./          # 输出文件路径
out_put_tmpl: ""          # 输出文件模板
cookies:                  # 平台cookie,以域名为单位配置
  live.douyin.com: __ac_nonce=123456789012345678903;name=value 
live_rooms:               # 直播间url
    - https://www.panda.tv/10300
    - https://live.bilibili.com/1010
video_split_strategies:   # 分隔策略
    on_room_name_changed: false    # 是否在直播间名改变时分隔录像
    max_duration: 1h               # 单个录像最大时长
on_record_finished:       # 录制结束后的动作
  convert_to_mp4: true             # 把录制好的视频转换一份到 mp4
  delete_flv_after_convert: true   # 转换完成后删除原视频文件
上一篇下一篇

猜你喜欢

热点阅读