Bililive-go是一个支持多种直播平台的直播录制工具
GitHub -https://github.com/bililive-go/bililive-go
支持网站
站点 | 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 ,复制代码粘贴进去。
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:端口访问后台。
在监听列表里添加你想录制的直播间地址就可以了。
设置里可以自定义一些录制的设置。
文件是已经录制好的视频查看。
至于其它更细化的选择,是通过自己修改“设置”选项里面的config.yml代码来实现的。
这里贴上代码的注释说明,有需要的小伙伴可自行修改,yml代码对格式要求很高,修改的时候请务必注意!
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硬盘中,并且还是原画录制,再也不用担心错过直播了。
————————————————