BililiveRecorder/BililiveRecorder.Core/Config/V2/config.schema.json

561 lines
21 KiB
JSON
Raw Normal View History

2021-07-07 21:25:54 +08:00
{
2022-06-07 18:35:46 +08:00
"$comment": "Deprecated. Use https://raw.githubusercontent.com/BililiveRecorder/BililiveRecorder/dev/configV3.schema.json",
2021-07-07 21:25:54 +08:00
"$schema": "http://json-schema.org/schema",
"definitions": {
"global-config": {
"description": "全局配置",
"additionalProperties": false,
"properties": {
"RecordMode": {
"description": "录制模式",
"type": "object",
"additionalProperties": false,
"properties": {
"HasValue": {
"type": "boolean",
2021-07-08 19:11:44 +08:00
"default": true
2021-07-07 21:25:54 +08:00
},
"Value": {
2021-07-08 19:11:44 +08:00
"type": "integer",
2021-07-07 21:25:54 +08:00
"default": 0,
"enum": [
0,
1
],
"description": "0: Standard\n1: Raw"
}
}
},
"CuttingMode": {
"description": "录制文件自动切割模式",
"type": "object",
"additionalProperties": false,
"properties": {
"HasValue": {
"type": "boolean",
2021-07-08 19:11:44 +08:00
"default": true
2021-07-07 21:25:54 +08:00
},
"Value": {
2021-07-08 19:11:44 +08:00
"type": "integer",
2021-07-07 21:25:54 +08:00
"default": 0,
"enum": [
0,
1,
2
],
"description": "0: 禁用\n1: 根据时间切割\n2: 根据文件大小切割"
}
}
},
"CuttingNumber": {
"description": "录制文件自动切割数值(分钟/MiB",
"type": "object",
"additionalProperties": false,
"properties": {
"HasValue": {
"type": "boolean",
2021-07-08 19:11:44 +08:00
"default": true
2021-07-07 21:25:54 +08:00
},
"Value": {
2021-07-08 19:11:44 +08:00
"type": "integer",
2021-07-07 21:25:54 +08:00
"minimum": 0,
2021-07-08 19:11:44 +08:00
"maximum": 4294967295,
2021-07-07 21:25:54 +08:00
"default": 100
}
}
},
"RecordDanmaku": {
"description": "是否同时录制弹幕",
"type": "object",
"additionalProperties": false,
"properties": {
"HasValue": {
"type": "boolean",
2021-07-08 19:11:44 +08:00
"default": true
2021-07-07 21:25:54 +08:00
},
"Value": {
"type": "boolean",
"default": false
}
}
},
"RecordDanmakuRaw": {
"description": "是否记录弹幕原始数据",
"type": "object",
"additionalProperties": false,
"properties": {
"HasValue": {
"type": "boolean",
2021-07-08 19:11:44 +08:00
"default": true
2021-07-07 21:25:54 +08:00
},
"Value": {
"type": "boolean",
"default": false
}
}
},
"RecordDanmakuSuperChat": {
"description": "是否同时录制 SuperChat",
"type": "object",
"additionalProperties": false,
"properties": {
"HasValue": {
"type": "boolean",
2021-07-08 19:11:44 +08:00
"default": true
2021-07-07 21:25:54 +08:00
},
"Value": {
"type": "boolean",
"default": true
}
}
},
"RecordDanmakuGift": {
"description": "是否同时录制 礼物",
"type": "object",
"additionalProperties": false,
"properties": {
"HasValue": {
"type": "boolean",
2021-07-08 19:11:44 +08:00
"default": true
2021-07-07 21:25:54 +08:00
},
"Value": {
"type": "boolean",
"default": false
}
}
},
"RecordDanmakuGuard": {
"description": "是否同时录制 上船",
"type": "object",
"additionalProperties": false,
"properties": {
"HasValue": {
"type": "boolean",
2021-07-08 19:11:44 +08:00
"default": true
2021-07-07 21:25:54 +08:00
},
"Value": {
"type": "boolean",
"default": true
}
}
},
2021-07-09 19:48:39 +08:00
"RecordingQuality": {
"description": "录制的直播画质 qn 值,逗号分割,靠前的优先",
"type": "object",
"additionalProperties": false,
"properties": {
"HasValue": {
"type": "boolean",
"default": true
},
"Value": {
"type": "string",
"default": "10000"
}
}
},
2021-07-07 21:25:54 +08:00
"TimingStreamRetry": {
"description": "录制断开重连时间间隔 毫秒",
"type": "object",
"additionalProperties": false,
"properties": {
"HasValue": {
"type": "boolean",
2021-07-08 19:11:44 +08:00
"default": true
2021-07-07 21:25:54 +08:00
},
"Value": {
2021-07-08 19:11:44 +08:00
"type": "integer",
2021-07-07 21:25:54 +08:00
"minimum": 0,
2021-07-08 19:11:44 +08:00
"maximum": 4294967295,
2021-07-07 21:25:54 +08:00
"default": 6000
}
}
},
"TimingStreamConnect": {
"description": "连接直播服务器超时时间 毫秒",
"type": "object",
"additionalProperties": false,
"properties": {
"HasValue": {
"type": "boolean",
2021-07-08 19:11:44 +08:00
"default": true
2021-07-07 21:25:54 +08:00
},
"Value": {
2021-07-08 19:11:44 +08:00
"type": "integer",
2021-07-07 21:25:54 +08:00
"minimum": 0,
2021-07-08 19:11:44 +08:00
"maximum": 4294967295,
2021-07-07 21:25:54 +08:00
"default": 5000
}
}
},
"TimingDanmakuRetry": {
"description": "弹幕服务器重连时间间隔 毫秒",
"type": "object",
"additionalProperties": false,
"properties": {
"HasValue": {
"type": "boolean",
2021-07-08 19:11:44 +08:00
"default": true
2021-07-07 21:25:54 +08:00
},
"Value": {
2021-07-08 19:11:44 +08:00
"type": "integer",
2021-07-07 21:25:54 +08:00
"minimum": 0,
2021-07-08 19:11:44 +08:00
"maximum": 4294967295,
2021-07-07 21:25:54 +08:00
"default": 15000
}
}
},
"TimingCheckInterval": {
"description": "HTTP API 检查时间间隔 秒",
"type": "object",
"additionalProperties": false,
"properties": {
"HasValue": {
"type": "boolean",
2021-07-08 19:11:44 +08:00
"default": true
2021-07-07 21:25:54 +08:00
},
"Value": {
2021-07-08 19:11:44 +08:00
"type": "integer",
2021-07-07 21:25:54 +08:00
"minimum": 0,
2021-07-08 19:11:44 +08:00
"maximum": 4294967295,
2021-07-07 21:25:54 +08:00
"default": 600
}
}
},
"TimingWatchdogTimeout": {
"description": "最大未收到新直播数据时间 毫秒",
"type": "object",
"additionalProperties": false,
"properties": {
"HasValue": {
"type": "boolean",
2021-07-08 19:11:44 +08:00
"default": true
2021-07-07 21:25:54 +08:00
},
"Value": {
2021-07-08 19:11:44 +08:00
"type": "integer",
2021-07-07 21:25:54 +08:00
"minimum": 0,
2021-07-08 19:11:44 +08:00
"maximum": 4294967295,
2021-07-07 21:25:54 +08:00
"default": 10000
}
}
},
"RecordDanmakuFlushInterval": {
"description": "触发 <see cref=\"System.Xml.XmlWriter.Flush\"/> 的弹幕个数",
"type": "object",
"additionalProperties": false,
"properties": {
"HasValue": {
"type": "boolean",
2021-07-08 19:11:44 +08:00
"default": true
2021-07-07 21:25:54 +08:00
},
"Value": {
2021-07-08 19:11:44 +08:00
"type": "integer",
2021-07-07 21:25:54 +08:00
"minimum": 0,
2021-07-08 19:11:44 +08:00
"maximum": 4294967295,
2021-07-07 21:25:54 +08:00
"default": 20
}
}
},
"Cookie": {
"description": "请求 API 时使用的 Cookie",
"type": "object",
"additionalProperties": false,
"properties": {
"HasValue": {
"type": "boolean",
2021-07-08 19:11:44 +08:00
"default": true
2021-07-07 21:25:54 +08:00
},
"Value": {
"type": "string",
"pattern": "^(S+=S+;? ?)*$",
"maxLength": 4096
}
}
},
"WebHookUrls": {
"description": "录制文件写入结束 Webhook 地址 每行一个",
"type": "object",
"additionalProperties": false,
"properties": {
"HasValue": {
"type": "boolean",
2021-07-08 19:11:44 +08:00
"default": true
2021-07-07 21:25:54 +08:00
},
"Value": {
"type": "string",
"default": ""
}
}
},
"WebHookUrlsV2": {
"description": "Webhook v2 地址 每行一个",
"type": "object",
"additionalProperties": false,
"properties": {
"HasValue": {
"type": "boolean",
2021-07-08 19:11:44 +08:00
"default": true
2021-07-07 21:25:54 +08:00
},
"Value": {
"type": "string",
"default": ""
}
}
},
"LiveApiHost": {
"description": "替换 api.live.bilibili.com 服务器为其他反代,可以支持在云服务器上录制",
"type": "object",
"additionalProperties": false,
"properties": {
"HasValue": {
"type": "boolean",
2021-07-08 19:11:44 +08:00
"default": true
2021-07-07 21:25:54 +08:00
},
"Value": {
"type": "string",
"default": "https://api.live.bilibili.com"
}
}
},
"RecordFilenameFormat": {
"description": "录制文件名模板",
"type": "object",
"additionalProperties": false,
"properties": {
"HasValue": {
"type": "boolean",
2021-07-08 19:11:44 +08:00
"default": true
2021-07-07 21:25:54 +08:00
},
"Value": {
"type": "string",
"default": "{roomid}-{name}/录制-{roomid}-{date}-{time}-{ms}-{title}.flv"
}
}
},
"WpfShowTitleAndArea": {
"description": "是否显示直播间标题和分区",
"type": "object",
"additionalProperties": false,
"properties": {
"HasValue": {
"type": "boolean",
2021-07-08 19:11:44 +08:00
"default": true
2021-07-07 21:25:54 +08:00
},
"Value": {
"type": "boolean",
"default": true
}
}
}
}
},
"room-config": {
"description": "单个房间配置",
"additionalProperties": false,
"properties": {
"RecordMode": {
"description": "录制模式",
"type": "object",
"additionalProperties": false,
"properties": {
"HasValue": {
"type": "boolean",
2021-07-08 19:11:44 +08:00
"default": true
2021-07-07 21:25:54 +08:00
},
"Value": {
2021-07-08 19:11:44 +08:00
"type": "integer",
2021-07-07 21:25:54 +08:00
"default": 0,
"enum": [
0,
1
],
"description": "0: Standard\n1: Raw"
}
}
},
"CuttingMode": {
"description": "录制文件自动切割模式",
"type": "object",
"additionalProperties": false,
"properties": {
"HasValue": {
"type": "boolean",
2021-07-08 19:11:44 +08:00
"default": true
2021-07-07 21:25:54 +08:00
},
"Value": {
2021-07-08 19:11:44 +08:00
"type": "integer",
2021-07-07 21:25:54 +08:00
"default": 0,
"enum": [
0,
1,
2
],
"description": "0: 禁用\n1: 根据时间切割\n2: 根据文件大小切割"
}
}
},
"CuttingNumber": {
"description": "录制文件自动切割数值(分钟/MiB",
"type": "object",
"additionalProperties": false,
"properties": {
"HasValue": {
"type": "boolean",
2021-07-08 19:11:44 +08:00
"default": true
2021-07-07 21:25:54 +08:00
},
"Value": {
2021-07-08 19:11:44 +08:00
"type": "integer",
2021-07-07 21:25:54 +08:00
"minimum": 0,
2021-07-08 19:11:44 +08:00
"maximum": 4294967295,
2021-07-07 21:25:54 +08:00
"default": 100
}
}
},
"RecordDanmaku": {
"description": "是否同时录制弹幕",
"type": "object",
"additionalProperties": false,
"properties": {
"HasValue": {
"type": "boolean",
2021-07-08 19:11:44 +08:00
"default": true
2021-07-07 21:25:54 +08:00
},
"Value": {
"type": "boolean",
"default": false
}
}
},
"RecordDanmakuRaw": {
"description": "是否记录弹幕原始数据",
"type": "object",
"additionalProperties": false,
"properties": {
"HasValue": {
"type": "boolean",
2021-07-08 19:11:44 +08:00
"default": true
2021-07-07 21:25:54 +08:00
},
"Value": {
"type": "boolean",
"default": false
}
}
},
"RecordDanmakuSuperChat": {
"description": "是否同时录制 SuperChat",
"type": "object",
"additionalProperties": false,
"properties": {
"HasValue": {
"type": "boolean",
2021-07-08 19:11:44 +08:00
"default": true
2021-07-07 21:25:54 +08:00
},
"Value": {
"type": "boolean",
"default": true
}
}
},
"RecordDanmakuGift": {
"description": "是否同时录制 礼物",
"type": "object",
"additionalProperties": false,
"properties": {
"HasValue": {
"type": "boolean",
2021-07-08 19:11:44 +08:00
"default": true
2021-07-07 21:25:54 +08:00
},
"Value": {
"type": "boolean",
"default": false
}
}
},
"RecordDanmakuGuard": {
"description": "是否同时录制 上船",
"type": "object",
"additionalProperties": false,
"properties": {
"HasValue": {
"type": "boolean",
2021-07-08 19:11:44 +08:00
"default": true
2021-07-07 21:25:54 +08:00
},
"Value": {
"type": "boolean",
"default": true
}
}
},
2021-07-09 19:48:39 +08:00
"RecordingQuality": {
"description": "录制的直播画质 qn 值,逗号分割,靠前的优先",
"type": "object",
"additionalProperties": false,
"properties": {
"HasValue": {
"type": "boolean",
"default": true
},
"Value": {
"type": "string",
"default": "10000"
}
}
},
2021-07-07 21:25:54 +08:00
"RoomId": {
"description": "房间号",
"type": "object",
"additionalProperties": false,
"properties": {
"HasValue": {
"type": "boolean",
2021-07-08 19:11:44 +08:00
"default": true
2021-07-07 21:25:54 +08:00
},
"Value": {
2021-07-08 19:11:44 +08:00
"type": "integer",
"minimum": -2147483648,
"maximum": 2147483647
2021-07-07 21:25:54 +08:00
}
}
},
"AutoRecord": {
"description": "是否启用自动录制",
"type": "object",
"additionalProperties": false,
"properties": {
"HasValue": {
"type": "boolean",
2021-07-08 19:11:44 +08:00
"default": true
2021-07-07 21:25:54 +08:00
},
"Value": {
"type": "boolean"
}
}
}
}
}
},
"type": "object",
"additionalProperties": false,
"required": [
"$schema",
"version"
],
"properties": {
"$schema": {
2022-06-07 18:35:46 +08:00
"const": "https://raw.githubusercontent.com/BililiveRecorder/BililiveRecorder/dev-1.3/configV2.schema.json"
2021-07-07 21:25:54 +08:00
},
"version": {
"const": 2
},
"global": {
"$ref": "#/definitions/global-config"
},
"rooms": {
"type": "array",
"items": {
"$ref": "#/definitions/room-config"
}
}
}
2022-06-07 18:35:46 +08:00
}