欢迎光临
我们一直在努力

简单部署多平台直播录制工具(Bililive-go)

Bililive-go是一个支持多种直播平台的直播录制工具

GitHub -https://github.com/bililive-go/bililive-go

image

支持网站

 

站点 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 滋瓷

点击网页左边的 设置 可以在线修改项目的配置文件,之后点击页面下面的 保存设置 按钮保存设置。 如果保存后窗口提醒设置保存成功,那就是配置文件已经被写入磁盘了。如果是保存失败,那可能是配置文件格式问题或者遇到程序 bug,总之磁盘上的配置文件没变。

在网页中即使保存配置成功也不一定表示相应的配置会立即生效。 有些配置需要停止监控后再重新开始监控才会生效,有些配置也许要重启程序才会生效。

依赖

安装和使用

Windows

https://github.com/bililive-go/bililive-go/wiki/Install-Windows

macOS

https://github.com/bililive-go/bililive-go/wiki/Install-macOS

Linux

https://github.com/bililive-go/bililive-go/wiki/Install-Linux

docker

由于是DOCKER安装所以要选一个项目存储位置,由于是视频录制那需要的空间肯定很大,所以需要你自己选择一个足够大的存储空间。我这里就用默认的存储位置做演示。

开始创建项目:

打开DOCKER→COMPOSE,新增项目,项目名称,路径自定义就好(这里最好选一个容量足够大的存储空间),然后选择创建docker-compose.yml ,复制代码粘贴进去。

image.png

services:
  bililive-go:
    image: chigusa/bililive-go
    container_name: bililive-go
    restart: always
    ports:
      - 8082:8080
    volumes:
      - ./data:/srv/bililive
    network_mode: bridge

然后勾选创建项目后立即启动,点击确定等待部署完成。

cookie 在 config.yml 中的设置方法

 

cookie的设置以域名为单位。比如想在录制抖音直播时使用 cookie,那么 config.yml 中可以像下面这样写:

cookies:
  live.douyin.com: __ac_nonce=123456789012345678903;name=value

这里 name 和 value 只是随便举的例子,用来说明当添加超过一条 cookie 的键值对时应该用分号隔开。 至于具体应该添加哪些键,就需要用户针对不同网站自己获取了。

在网页中修改设置

打开浏览器输入飞牛IP:端口访问后台。

image.png

在监听列表里添加你想录制的直播间地址就可以了。

设置里可以自定义一些录制的设置。

文件是已经录制好的视频查看。

至于其它更细化的选择,是通过自己修改“设置”选项里面的config.yml代码来实现的。

这里贴上代码的注释说明,有需要的小伙伴可自行修改,yml代码对格式要求很高,修改的时候请务必注意!

rpc: # RPC 服务的配置
enable: true # 启用 RPC 服务
bind: :8080 # RPC 服务绑定的地址和端口,这里绑定到 8080 端口
debug: false # 是否启用调试模式
interval: 20 # 录制检查间隔时间,单位为秒
out_put_path: ./ # 输出文件的路径,默认为当前目录
ffmpeg_path: # ffmpeg 可执行文件的路径,如果为空,则从环境变量中查找
log: # 日志配置
out_put_folder: ./ # 日志输出目录
save_last_log: true # 是否保存上一次的日志
save_every_log: false # 是否保存每次的日志
feature: # 特性配置
use_native_flv_parser: false # 是否使用原生的 FLV 解析器
live_rooms: # 配置要监听的直播间列表
# qulity 参数目前仅 B 站启用,默认为 0
# (B 站)0 代表原画 PRO(HEVC) 优先, 其他数值为原画(AVC)
# 原画 PRO 会保存为 .ts 文件, 原画为 .flv
# HEVC 相比 AVC 体积更小, 减少 35% 体积, 画质相当, 但是 B 站转码有时候会崩
- url: https://www.lang.live/room/5664344 # 直播间 URL
is_listening: false # 是否监听该直播间
- url: https://live.bilibili.com/22603245 # 直播间 URL
is_listening: true # 是否监听该直播间
quality: 0 # 录制画质,0 为原画 PRO(HEVC)
out_put_tmpl: "" # 输出文件的模板,留空使用默认模板
video_split_strategies: # 视频分割策略
on_room_name_changed: false # 是否在直播间名称改变时分割视频
max_duration: 0s # 单个录像时间,用于分段,0 表示不限制,1h为1小时
# 仅在 use_native_flv_parser=false 时生效
# 单位为字节 (byte)
# 有效值为正数,默认值 0 为无效
# 负数为非法值,程序会输出 log 提醒,并无视所设定的数值
max_file_size: 0
cookies: {} # Cookies 配置,留空表示不使用
on_record_finished: # 录制完成后的操作
convert_to_mp4: false # 是否将录制的 FLV 文件转换为 MP4
delete_flv_after_convert: false # 转换为 MP4 后是否删除原始 FLV 文件
# 当 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 # 超时时间,单位为微秒

总结
今天介绍的这个自动直播录制工具还是非常有用的,有了它我们再也不用卡点或者熬夜看直播了,我们仅需添加好自己喜欢的直播房间,它就能自动监控主播的直播状态,只要主播开始直播,这个工具就会自动将这场直播录制到我们的NAS硬盘中,并且还是原画录制,再也不用担心错过直播了。
————————————————

 收藏 (0) 打赏

您可以选择一种方式赞助本站

支付宝扫一扫赞助

微信钱包扫描赞助

未经允许不得转载:安卿辰博客 » 简单部署多平台直播录制工具(Bililive-go)
分享到: 生成海报

热门推荐

评论 抢沙发

安卿辰博客 专业 快捷

联系我们联系我们
切换注册

登录

忘记密码 ?

切换登录

注册