直播录制
直播录制 biliLive-tools 支持 B站、斗鱼、虎牙、抖音、小红书多平台的直播录制,包含弹幕和礼物信息。
初始实现由 LiveAutoRecord 拓展而来
支持平台 平台弹幕画质线路Cookie流格式流编码只音频付费直播斗鱼✅✅✅❌❌✅✅❌B站✅✅✅(自定义host)✅✅✅✅❌抖音✅✅❌✅✅❌✅❌虎牙✅✅✅❌❌❌❌❌功能说明 弹幕:录制弹幕到XML文件画质:支持选择不同画质线路:支持选择不同CDN线路流格式:支持选择流格式(FLV/HLS等)流编码:支持选择视频编码只音频:只录制音频流弹幕信息 B站:弹幕、礼物、SC、舰长斗鱼:弹幕、礼物、高能弹幕虎牙:弹幕、礼物抖音:弹幕、礼物录制器 biliLive-tools 提供三种录制器引擎:
功能FFmpegmesio录播姬引擎FLV 录制✅✅✅HLS 录制✅✅❌时长分段✅✅✅只音频✅✅❌容器支持多种跟随链接容器flvFLV 修复❌✅✅提示
当选择到某录制器不支持的直播流时,会尽量自动尝试使用 FFmpeg 进行录制。
Mesio 项目地址:https://github.com/hua0512/rust-srec/tree/main/mesio-cli
录播姬引擎 项目地址:https://github.com/renmu123/BililiveRecorder
录播姬引擎是从录播姬项目中提取了FLV录制引擎,一些细节上并不与原项目相同
视频格式 名称备注自动默认为ts,不存在分段是使用m4sMKVTSFLV存在分辨率变化或参数变化会花屏,请尝试修复配置选项 Cookie Cookie 会用于相关的 API 请求中。程序请求与浏览器内正常使用所发送的请求不完全一致,能通过分析请求日志识别出来。软件开发者不对账号发生的任何事情负责,包括并不限于被标记为机器人账号、无法参与各种抽奖和活动等。建议使用小号。如您知晓您的账号会因以上所列出来的部分原因所导致无法使用或权益受损等情况,并愿意承担由此所会带来的一系列后果,请继续以下的操作,软件开发者不会对您账号所发生的任何后果承担责任。
画质 根据平台不同,支持不同的画质选项,并非你选择什么画质就一定会得到什么画质,非原画流都是服务端二压的,刚开播时并不会存在相关的流,请和流匹配重试次数搭配使用
只音频 只录制音频流,节省存储空间和带宽。
适用场景:
电台直播纯音乐直播不需要视频画面的直播时长分段 按时长自动分段,避免单个文件过大,以及缓解时间戳的偏移。
文件命名规则 自定义录制文件的命名规则,支持以下占位符:
{platform} - 平台名称{owner} - 主播名称{title} - 直播标题{year} - 年份{month} - 月份{date} - 日期{hour} - 小时{min} - 分钟{sec} - 秒{ms} - 毫秒{startTime} - 分段开始时间,Date对象{recordStartTime} - 录制开始时间,Date对象{liveStartTime} - 直播开始时间,Date对象,抖音同录制开始时间示例:{platform}/{owner}/{year}-{month}-{date} {hour}-{min}-{sec} {title}
高级用法
支持 ejs 模板引擎,可以实现更复杂的命名逻辑。
例如,为不同平台配置不同存储路径:
<% if (platform=='斗鱼') { %>C<% } %><% if (platform!='斗鱼') { %>D<% } %>:\录制\{platform}/{owner}/{year}-{month}-{date} {hour}-{min}-{sec} {title}例如,将直播开始时间设置为文件夹
{platform}/{owner}/<%= recordStartTime.getFullYear() %>-<%= recordStartTime.getMonth()+1 %>-<%= recordStartTime.getDate() %>/{year}-{month}-{date} {hour}-{min}-{sec} {title}检查间隔 设置检查直播状态的时间间隔,默认60秒。
注意
间隔过短可能导致被平台风控。建议添加大量直播间时增加间隔。
录制结束立即重试 默认策略下,如果录制被中断,那么会在下一个检查周期时重新检查直播状态并重新开始录制,这种策略的问题就是一部分时间会被漏掉。
如果开启了该选项,且录制开始时间与结束时间相差在一分钟以上(某些平台下播会扔会有重复流),那么会立即进行一次检查。
禁止标题关键词 如果直播间标题包含这些关键词,则不会自动录制,多个关键词请用英文逗号分隔,或者使用正则表达式(如:/回放|录播/i),录制中的直播隔约每五分钟会查询接口检查,手动录制的不会被影响。
由于B站直播更改信息后发广播到弹幕,如果想实时检测,那么必须开启弹幕,当然也会比其他的实现省资源
监控时间段 此选项指得是仅在此时间段内进行监控,而非仅在该时间段内录制
Webhook集成 录制完成后可以自动发送到Webhook进行处理。
打开"直播间配置"启用"发送至Webhook"在"设置" -> "Webhook"中配置处理规则查看 Webhook文档 了解详细配置。
通知 录制开始通知选项为录制开始通知,并非直播开始通知,只是很多情况下这两者是等价的,但实际这两者并不相同,通知的设计是尽可能在录制开始时通知用户,但又不会因可能的网络问题而重复提醒,一般来说一场直播只会提醒一次。
录制结束通知选项为录制结束通知,并非直播开始通知,只是很多情况下这两者是等价的,但实际这两者并不相同,通知的设计是尽可能在录制结束时通知用户,会在一次录制结束后三分钟检查录制状态,如果为不在录制中状态,则进行通知
常见问题 录制如何转换为MP4? 单个直播间配置打开"发送至webhook""设置" -> "Webhook" 打开webhook开关"设置" -> "Webhook" -> "转封装为mp4" 打开开关添加大量直播间后无法录制? 可能被平台风控:
关闭软件等待风控解除减少直播间数量加大检查间隔检查网络和硬盘电台直播压制弹幕时卡顿 由于视频帧数过低,压制会观看不流畅,请手动指定帧数参数,如在"ffmpeg配置"=>"额外输出参数"中指定-r 60。
分辨率变化后不会切割? 设计如此。如果播放器不支持多分辨率,请使用 VLC 播放器。
或者尝试使用 mesio 或录播姬录制器。
这会分离出主画面,副画面同理。
UI界面中直播状态等参数未实时更新 获取此类相关数据需要从源站获取,可能带来大量的并发,数据并非实时获取,如果想要彻底关闭这种行为,可关闭“设置”-“UI界面”-“录制页面额外请求”开关。
flv格式下无法播放或只有声音无画面 尝试使用最新版 potplayer 或转换为 MP4 格式
录制的视频频繁中断 大概又三种原因,但本软件均无法控制,不要找我来问
你网络问题主播网络问题录制器认为该分段了录制页面为什么显示“检查错误” 可能的原因有两种:
你被风控了,如果其他同平台的主播也如此显示,那绝大概率就是风控了根据你的配置要求,无法找到可用的直播流如何实现定时录制 参考 API文档,定时调用开始和停止接口
其他录制软件推荐 名称备注协议录播姬录制B站flv流最稳的工具GPLV3biliup支持B站上传,弹幕MITDouyinLiveRecorder支持平台多,无GUIMITStreamCap支持平台多,有GUIApache 2.0DanmakuRender支持B站自动上传,弹幕,无GUI开源未知bililive-go支持平台多,有GUIGPLV3stream-rec自实现引擎,rclone同步MIToneliverec支持的平台多闭源免费相关资源 直播录制相关库B站录制斗鱼录制虎牙录制抖音录制小红书录制虎牙弹幕监听抖音弹幕监听