{ "$comment": "GENERATED CODE, DO NOT EDIT MANUALLY.", "$schema": "http://json-schema.org/schema", "definitions": { "global-config": { "description": "全局设置", "additionalProperties": false, "properties": { "FileNameRecordTemplate": { "description": "录制文件名模板\n默认: {{ roomId }}-{{ name }}/录制-{{ roomId }}-{{ \"now\" | time_zone: \"Asia/Shanghai\" | format_date: \"yyyyMMdd-HHmmss-fff\" }}-{{ title }}.flv", "markdownDescription": "录制文件名模板 \n默认: `{{ roomId }}-{{ name }}/录制-{{ roomId }}-{{ \"now\" | time_zone: \"Asia/Shanghai\" | format_date: \"yyyyMMdd-HHmmss-fff\" }}-{{ title }}.flv `\n\n", "type": "object", "additionalProperties": false, "properties": { "HasValue": { "type": "boolean", "default": true }, "Value": { "type": "string", "default": "{{ roomId }}-{{ name }}/录制-{{ roomId }}-{{ \"now\" | time_zone: \"Asia/Shanghai\" | format_date: \"yyyyMMdd-HHmmss-fff\" }}-{{ title }}.flv" } } }, "FlvWriteMetadata": { "description": "是否在视频文件写入直播信息 metadata\n默认: true", "markdownDescription": "是否在视频文件写入直播信息 metadata \n默认: `true `\n\n", "type": "object", "additionalProperties": false, "properties": { "HasValue": { "type": "boolean", "default": true }, "Value": { "type": "boolean", "default": true } } }, "WebHookUrls": { "description": "WebhookV1\n默认: ", "markdownDescription": "WebhookV1 \n默认: ` `\n\n", "type": "object", "additionalProperties": false, "properties": { "HasValue": { "type": "boolean", "default": true }, "Value": { "type": "string", "default": "" } } }, "WebHookUrlsV2": { "description": "WebhookV2\n默认: ", "markdownDescription": "WebhookV2 \n默认: ` `\n\n", "type": "object", "additionalProperties": false, "properties": { "HasValue": { "type": "boolean", "default": true }, "Value": { "type": "string", "default": "" } } }, "WpfShowTitleAndArea": { "description": "桌面版在界面显示标题和分区\n默认: true", "markdownDescription": "桌面版在界面显示标题和分区 \n默认: `true `\n\n", "type": "object", "additionalProperties": false, "properties": { "HasValue": { "type": "boolean", "default": true }, "Value": { "type": "boolean", "default": true } } }, "WpfNotifyStreamStart": { "description": "桌面版开播时弹出系统通知\n默认: false", "markdownDescription": "桌面版开播时弹出系统通知 \n默认: `false `\n\n", "type": "object", "additionalProperties": false, "properties": { "HasValue": { "type": "boolean", "default": true }, "Value": { "type": "boolean", "default": false } } }, "Cookie": { "description": "Cookie\n默认: ", "markdownDescription": "Cookie \n默认: ` `\n\n", "type": "object", "additionalProperties": false, "properties": { "HasValue": { "type": "boolean", "default": true }, "Value": { "type": "string", "pattern": "^(S+=S+;? ?)*$", "maxLength": 4096 } } }, "LiveApiHost": { "description": "API Host\n默认: https://api.live.bilibili.com", "markdownDescription": "API Host \n默认: `https://api.live.bilibili.com `\n\n", "type": "object", "additionalProperties": false, "properties": { "HasValue": { "type": "boolean", "default": true }, "Value": { "type": "string", "default": "https://api.live.bilibili.com" } } }, "TimingCheckInterval": { "description": "主动检查时间间隔 秒\n默认: 600", "markdownDescription": "主动检查时间间隔 秒 \n默认: `600 `\n\n", "type": "object", "additionalProperties": false, "properties": { "HasValue": { "type": "boolean", "default": true }, "Value": { "type": "integer", "minimum": 0, "maximum": 4294967295, "default": 600 } } }, "TimingApiTimeout": { "description": "请求mikufansAPI超时时间 毫秒\n默认: 10000", "markdownDescription": "请求mikufansAPI超时时间 毫秒 \n默认: `10000 `\n\n", "type": "object", "additionalProperties": false, "properties": { "HasValue": { "type": "boolean", "default": true }, "Value": { "type": "integer", "minimum": 0, "maximum": 4294967295, "default": 10000 } } }, "TimingStreamRetry": { "description": "录制断开重连时间间隔 毫秒\n默认: 6000", "markdownDescription": "录制断开重连时间间隔 毫秒 \n默认: `6000 `\n\n", "type": "object", "additionalProperties": false, "properties": { "HasValue": { "type": "boolean", "default": true }, "Value": { "type": "integer", "minimum": 0, "maximum": 4294967295, "default": 6000 } } }, "TimingStreamRetryNoQn": { "description": "录制无指定画质重连时间间隔 秒\n默认: 90", "markdownDescription": "录制无指定画质重连时间间隔 秒 \n默认: `90 `\n\n", "type": "object", "additionalProperties": false, "properties": { "HasValue": { "type": "boolean", "default": true }, "Value": { "type": "integer", "minimum": 0, "maximum": 4294967295, "default": 90 } } }, "TimingStreamConnect": { "description": "连接直播服务器超时时间 毫秒\n默认: 5000", "markdownDescription": "连接直播服务器超时时间 毫秒 \n默认: `5000 `\n\n", "type": "object", "additionalProperties": false, "properties": { "HasValue": { "type": "boolean", "default": true }, "Value": { "type": "integer", "minimum": 0, "maximum": 4294967295, "default": 5000 } } }, "TimingDanmakuRetry": { "description": "弹幕服务器重连时间间隔 毫秒\n默认: 9000", "markdownDescription": "弹幕服务器重连时间间隔 毫秒 \n默认: `9000 `\n\n", "type": "object", "additionalProperties": false, "properties": { "HasValue": { "type": "boolean", "default": true }, "Value": { "type": "integer", "minimum": 0, "maximum": 4294967295, "default": 9000 } } }, "TimingWatchdogTimeout": { "description": "最大未收到直播数据时间 毫秒\n默认: 10000", "markdownDescription": "最大未收到直播数据时间 毫秒 \n默认: `10000 `\n\n", "type": "object", "additionalProperties": false, "properties": { "HasValue": { "type": "boolean", "default": true }, "Value": { "type": "integer", "minimum": 0, "maximum": 4294967295, "default": 10000 } } }, "RecordDanmakuFlushInterval": { "description": "触发刷新弹幕写入缓冲的个数\n默认: 20", "markdownDescription": "触发刷新弹幕写入缓冲的个数 \n默认: `20 `\n\n", "type": "object", "additionalProperties": false, "properties": { "HasValue": { "type": "boolean", "default": true }, "Value": { "type": "integer", "minimum": 0, "maximum": 4294967295, "default": 20 } } }, "DanmakuTransport": { "description": "使用的弹幕服务器传输协议\n默认: DanmakuTransportMode.Wss", "markdownDescription": "使用的弹幕服务器传输协议 \n默认: `DanmakuTransportMode.Wss `\n\n", "type": "object", "additionalProperties": false, "properties": { "HasValue": { "type": "boolean", "default": true }, "Value": { "type": "integer", "default": 0, "enum": [ 0, 1, 2, 3 ], "description": "0: 随机\n1: TCP\n2: WebSocket (HTTP)\n3: WebSocket (HTTPS)" } } }, "DanmakuAuthenticateWithStreamerUid": { "description": "使用直播间主播的uid进行弹幕服务器认证\n默认: false", "markdownDescription": "使用直播间主播的uid进行弹幕服务器认证 \n默认: `false `\n\n", "type": "object", "additionalProperties": false, "properties": { "HasValue": { "type": "boolean", "default": true }, "Value": { "type": "boolean", "default": false } } }, "NetworkTransportUseSystemProxy": { "description": "是否使用系统代理\n默认: false", "markdownDescription": "是否使用系统代理 \n默认: `false `\n\n", "type": "object", "additionalProperties": false, "properties": { "HasValue": { "type": "boolean", "default": true }, "Value": { "type": "boolean", "default": false } } }, "NetworkTransportAllowedAddressFamily": { "description": "允许使用的 IP 网络类型\n默认: AllowedAddressFamily.Any", "markdownDescription": "允许使用的 IP 网络类型 \n默认: `AllowedAddressFamily.Any `\n\n", "type": "object", "additionalProperties": false, "properties": { "HasValue": { "type": "boolean", "default": true }, "Value": { "type": "integer", "default": 0, "enum": [ -1, 0, 1, 2 ], "description": "-1: 由系统决定\n0: 任意 IPv4 或 IPv6\n1: 仅 IPv4\n2: IPv6" } } }, "UserScript": { "description": "自定义脚本\n默认: ", "markdownDescription": "自定义脚本 \n默认: ` `\n\n", "type": "object", "additionalProperties": false, "properties": { "HasValue": { "type": "boolean", "default": true }, "Value": { "type": "string", "default": "" } } }, "RecordMode": { "description": "录制模式\n默认: RecordMode.Standard", "markdownDescription": "录制模式 \n默认: `RecordMode.Standard `\n\n", "type": "object", "additionalProperties": false, "properties": { "HasValue": { "type": "boolean", "default": true }, "Value": { "type": "integer", "default": 0, "enum": [ 0, 1 ], "description": "0: Standard\n1: Raw" } } }, "CuttingMode": { "description": "自动分段模式\n默认: CuttingMode.Disabled", "markdownDescription": "自动分段模式 \n默认: `CuttingMode.Disabled `\n\n", "type": "object", "additionalProperties": false, "properties": { "HasValue": { "type": "boolean", "default": true }, "Value": { "type": "integer", "default": 0, "enum": [ 0, 1, 2 ], "description": "0: 禁用\n1: 根据时间切割\n2: 根据文件大小切割" } } }, "CuttingNumber": { "description": "自动分段数值\n默认: 100", "markdownDescription": "自动分段数值 \n默认: `100 `\n\n", "type": "object", "additionalProperties": false, "properties": { "HasValue": { "type": "boolean", "default": true }, "Value": { "type": "integer", "minimum": 0, "maximum": 4294967295, "default": 100 } } }, "CuttingByTitle": { "description": "改标题后自动分段\n默认: false", "markdownDescription": "改标题后自动分段 \n默认: `false `\n\n", "type": "object", "additionalProperties": false, "properties": { "HasValue": { "type": "boolean", "default": true }, "Value": { "type": "boolean", "default": false } } }, "RecordDanmaku": { "description": "弹幕录制\n默认: false", "markdownDescription": "弹幕录制 \n默认: `false `\n\n", "type": "object", "additionalProperties": false, "properties": { "HasValue": { "type": "boolean", "default": true }, "Value": { "type": "boolean", "default": false } } }, "RecordDanmakuRaw": { "description": "弹幕录制-原始数据\n默认: false", "markdownDescription": "弹幕录制-原始数据 \n默认: `false `\n\n", "type": "object", "additionalProperties": false, "properties": { "HasValue": { "type": "boolean", "default": true }, "Value": { "type": "boolean", "default": false } } }, "RecordDanmakuSuperChat": { "description": "弹幕录制-SuperChat\n默认: true", "markdownDescription": "弹幕录制-SuperChat \n默认: `true `\n\n", "type": "object", "additionalProperties": false, "properties": { "HasValue": { "type": "boolean", "default": true }, "Value": { "type": "boolean", "default": true } } }, "RecordDanmakuGift": { "description": "弹幕录制-礼物\n默认: false", "markdownDescription": "弹幕录制-礼物 \n默认: `false `\n\n", "type": "object", "additionalProperties": false, "properties": { "HasValue": { "type": "boolean", "default": true }, "Value": { "type": "boolean", "default": false } } }, "RecordDanmakuGuard": { "description": "弹幕录制-上船\n默认: true", "markdownDescription": "弹幕录制-上船 \n默认: `true `\n\n", "type": "object", "additionalProperties": false, "properties": { "HasValue": { "type": "boolean", "default": true }, "Value": { "type": "boolean", "default": true } } }, "SaveStreamCover": { "description": "保存直播封面\n默认: false", "markdownDescription": "保存直播封面 \n默认: `false `\n\n", "type": "object", "additionalProperties": false, "properties": { "HasValue": { "type": "boolean", "default": true }, "Value": { "type": "boolean", "default": false } } }, "RecordingQuality": { "description": "直播画质\n默认: 10000", "markdownDescription": "直播画质 \n默认: `10000 `\n\n", "type": "object", "additionalProperties": false, "properties": { "HasValue": { "type": "boolean", "default": true }, "Value": { "type": "string", "default": "10000" } } }, "FlvProcessorSplitOnScriptTag": { "description": "FLV修复-检测到可能缺少数据时分段\n默认: false", "markdownDescription": "FLV修复-检测到可能缺少数据时分段 \n默认: `false `\n\n", "type": "object", "additionalProperties": false, "properties": { "HasValue": { "type": "boolean", "default": true }, "Value": { "type": "boolean", "default": false } } }, "FlvProcessorDisableSplitOnH264AnnexB": { "description": "FLV修复-检测到 H264 Annex-B 时禁用修复分段\n默认: false", "markdownDescription": "FLV修复-检测到 H264 Annex-B 时禁用修复分段 \n默认: `false `\n\n", "type": "object", "additionalProperties": false, "properties": { "HasValue": { "type": "boolean", "default": true }, "Value": { "type": "boolean", "default": false } } }, "TitleFilterPatterns": { "description": "不录制的标题匹配正则\n默认: ", "markdownDescription": "不录制的标题匹配正则 \n默认: ` `\n\n", "type": "object", "additionalProperties": false, "properties": { "HasValue": { "type": "boolean", "default": true }, "Value": { "type": "string", "default": "" } } } } }, "room-config": { "description": "房间独立设置", "additionalProperties": false, "properties": { "RoomId": { "description": "房间号\n默认: ", "markdownDescription": "房间号 \n默认: ` `\n\n", "type": "object", "additionalProperties": false, "properties": { "HasValue": { "type": "boolean", "default": true }, "Value": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647, "default": "" } } }, "AutoRecord": { "description": "自动录制\n默认: ", "markdownDescription": "自动录制 \n默认: ` `\n\n", "type": "object", "additionalProperties": false, "properties": { "HasValue": { "type": "boolean", "default": true }, "Value": { "type": "boolean", "default": "" } } }, "RecordMode": { "description": "录制模式\n默认: RecordMode.Standard", "markdownDescription": "录制模式 \n默认: `RecordMode.Standard `\n\n", "type": "object", "additionalProperties": false, "properties": { "HasValue": { "type": "boolean", "default": true }, "Value": { "type": "integer", "default": 0, "enum": [ 0, 1 ], "description": "0: Standard\n1: Raw" } } }, "CuttingMode": { "description": "自动分段模式\n默认: CuttingMode.Disabled", "markdownDescription": "自动分段模式 \n默认: `CuttingMode.Disabled `\n\n", "type": "object", "additionalProperties": false, "properties": { "HasValue": { "type": "boolean", "default": true }, "Value": { "type": "integer", "default": 0, "enum": [ 0, 1, 2 ], "description": "0: 禁用\n1: 根据时间切割\n2: 根据文件大小切割" } } }, "CuttingNumber": { "description": "自动分段数值\n默认: 100", "markdownDescription": "自动分段数值 \n默认: `100 `\n\n", "type": "object", "additionalProperties": false, "properties": { "HasValue": { "type": "boolean", "default": true }, "Value": { "type": "integer", "minimum": 0, "maximum": 4294967295, "default": 100 } } }, "CuttingByTitle": { "description": "改标题后自动分段\n默认: false", "markdownDescription": "改标题后自动分段 \n默认: `false `\n\n", "type": "object", "additionalProperties": false, "properties": { "HasValue": { "type": "boolean", "default": true }, "Value": { "type": "boolean", "default": false } } }, "RecordDanmaku": { "description": "弹幕录制\n默认: false", "markdownDescription": "弹幕录制 \n默认: `false `\n\n", "type": "object", "additionalProperties": false, "properties": { "HasValue": { "type": "boolean", "default": true }, "Value": { "type": "boolean", "default": false } } }, "RecordDanmakuRaw": { "description": "弹幕录制-原始数据\n默认: false", "markdownDescription": "弹幕录制-原始数据 \n默认: `false `\n\n", "type": "object", "additionalProperties": false, "properties": { "HasValue": { "type": "boolean", "default": true }, "Value": { "type": "boolean", "default": false } } }, "RecordDanmakuSuperChat": { "description": "弹幕录制-SuperChat\n默认: true", "markdownDescription": "弹幕录制-SuperChat \n默认: `true `\n\n", "type": "object", "additionalProperties": false, "properties": { "HasValue": { "type": "boolean", "default": true }, "Value": { "type": "boolean", "default": true } } }, "RecordDanmakuGift": { "description": "弹幕录制-礼物\n默认: false", "markdownDescription": "弹幕录制-礼物 \n默认: `false `\n\n", "type": "object", "additionalProperties": false, "properties": { "HasValue": { "type": "boolean", "default": true }, "Value": { "type": "boolean", "default": false } } }, "RecordDanmakuGuard": { "description": "弹幕录制-上船\n默认: true", "markdownDescription": "弹幕录制-上船 \n默认: `true `\n\n", "type": "object", "additionalProperties": false, "properties": { "HasValue": { "type": "boolean", "default": true }, "Value": { "type": "boolean", "default": true } } }, "SaveStreamCover": { "description": "保存直播封面\n默认: false", "markdownDescription": "保存直播封面 \n默认: `false `\n\n", "type": "object", "additionalProperties": false, "properties": { "HasValue": { "type": "boolean", "default": true }, "Value": { "type": "boolean", "default": false } } }, "RecordingQuality": { "description": "直播画质\n默认: 10000", "markdownDescription": "直播画质 \n默认: `10000 `\n\n", "type": "object", "additionalProperties": false, "properties": { "HasValue": { "type": "boolean", "default": true }, "Value": { "type": "string", "default": "10000" } } }, "FlvProcessorSplitOnScriptTag": { "description": "FLV修复-检测到可能缺少数据时分段\n默认: false", "markdownDescription": "FLV修复-检测到可能缺少数据时分段 \n默认: `false `\n\n", "type": "object", "additionalProperties": false, "properties": { "HasValue": { "type": "boolean", "default": true }, "Value": { "type": "boolean", "default": false } } }, "FlvProcessorDisableSplitOnH264AnnexB": { "description": "FLV修复-检测到 H264 Annex-B 时禁用修复分段\n默认: false", "markdownDescription": "FLV修复-检测到 H264 Annex-B 时禁用修复分段 \n默认: `false `\n\n", "type": "object", "additionalProperties": false, "properties": { "HasValue": { "type": "boolean", "default": true }, "Value": { "type": "boolean", "default": false } } }, "TitleFilterPatterns": { "description": "不录制的标题匹配正则\n默认: ", "markdownDescription": "不录制的标题匹配正则 \n默认: ` `\n\n", "type": "object", "additionalProperties": false, "properties": { "HasValue": { "type": "boolean", "default": true }, "Value": { "type": "string", "default": "" } } } } } }, "type": "object", "additionalProperties": false, "required": [ "$schema", "version" ], "properties": { "$schema": { "type": "string", "default": "https://raw.githubusercontent.com/BililiveRecorder/BililiveRecorder/dev/configV3.schema.json" }, "version": { "const": 3 }, "global": { "$ref": "#/definitions/global-config" }, "rooms": { "type": "array", "items": { "$ref": "#/definitions/room-config" } } } }