命令行参数
录播姬命令行版除了“正常运行”进行录制以外,也提供了和桌面版一样的工具箱功能。 本参考页对录播姬的各个子命令和参数进行说明。
如果你使用的是不自带 .NET Runtime 的 any 版,下面所有的 ./BililiveRecorder.Cli
都应该改成 dotnet BililiveRecorder.Cli.dll
。
任何命令添加 -?
-h
--help
其一都会显示帮助信息。
run
r
子命令:正常启动录播姬
<path>
录播姬的工作目录,用于保存配置文件和录制的文件。
--config-override
指定配置文件路径。配置文件默认为录播姬工作目录里的 config.json
,这个参数可以把配置文件放在其他位置。
-b
--bind
--http-bind
指定录播姬 HTTP 服务的监听地址,如果不指定则不启动 HTTP 服务。
示例:--bind http://localhost:2356
传入的地址必须以 http://
或 https://
开头。如果传入的协议是 https://
录播姬默认会在启动时生成一个自签名证书,如果需要使用自己的证书可以使用 --cert-pem-path
--cert-key-path
--cert-pfx-path
--cert-password
参数。
录播姬会绑定到指定的接口上,如果传入的 hostname 是 localhost
则只会监听本地回环地址,如果传入的 hostname 不是 IP 地址则默认监听所有 IP 地址。
支持的格式例:http://localhost:2356
http://192.168.1.123:2356
http://*:2356
https://*:2356
--http-basic-user
--http-basic-pass
指定 HTTP 服务的 Basic Auth 用户名和密码,如果不指定则不启用 Basic Auth。
--http-open-access
允许从公网访问录播姬的 HTTP 服务。也可以设置环境变量 BREC_HTTP_OPEN_ACCESS
为任意非空值实现相同效果。
如果没有通过 --http-basic-user
和 --http-basic-pass
参数设置 Basic Auth 用户名和密码、并且也没有通过此参数或对应的环境变量允许公网访问,则录播姬的 HTTP 服务只允许局域网访问,在检测到疑似非局域网访问时返回错误。
这个功能是为了防止用户在不知情的情况下误把录播姬直接暴露到公网,产生安全风险。
--enable-file-browser
是否启用文件浏览器,默认启用。如果需要禁用可以传入 --enable-file-browser false
。
-l
--log
--loglevel
指定控制台输出的日志等级,可选值:Debug
Error
Fatal
Information
Verbose
Warning
。
--flog
--logfilelevel
指定日志文件输出的日志等级,可选值:Debug
Error
Fatal
Information
Verbose
Warning
。
--cert-pem-path
--cert-key-path
指定 pem 格式的 TLS 证书的公钥文件和私钥文件路径,这两个参数必须同时传入才有效。
录播姬支持 pem 格式和 pfx 格式的证书,两组参数只需要传入其中一组即可。
--cert-pfx-path
指定 pfx 格式的 TLS 证书的文件路径。pfx 格式文件内包含了公钥和私钥。
录播姬支持 pem 格式和 pfx 格式的证书,两组参数只需要传入其中一组即可。
--cert-password
pem 和 pfx 两种格式的证书的私钥密码。如果你的私钥没有密码可以不传入这个参数。
portable
p
子命令:无配置文件启动录播姬
这个模式运行的录播姬功能上与通过 run
命令启动的完全一样,唯一区别是在这个模式下不会读取也不会写入配置文件,适合集成到其他系统中通过 API 进行控制。
与 run
命令相同的参数不再赘述,请参考 run
命令的说明。
<output-path>
录播姬的录制输出目录,用于保存录制的文件,相当于 run
命令的 <path>
参数。
<room-ids>
录播姬要录制的房间号,可以传入多个房间号,录播姬会同时录制多个房间。可以不传,启动后可以通过 API 添加房间。
--mode
--record-mode
录制模式,可选值:RawData
Standard
。传入录播姬录制模式的启动默认值,运行过程中可以通过 API 修改。
-c
--cookie
请求 API 时使用的 Cookie。通过命令行传入启动时的默认值,运行过程中可以通过 API 修改。
-f
--filename
录制文件名格式模板。通过命令行传入启动时的默认值,运行过程中可以通过 API 修改。
-d
--danmaku
弹幕录制模式,本参数是一个 flag,可以传入英文逗号分割的多个参数。传入录播姬弹幕录制模式的启动默认值,运行过程中可以通过 API 修改。
可选值:All
Danmaku
Gift
Guard
None
RawData
SuperChat
。
--webhook-url
Webhook URL。通过命令行传入启动时的默认值,运行过程中可以通过 API 修改。
--live-api-host
直播 API Host。通过命令行传入启动时的默认值,运行过程中可以通过 API 修改。
configure
子命令:交互式修改配置文件
不再推荐使用。本命令是早期录播姬命令行版没有 HTTP API 和 WebUI 时为了方便修改配置文件而添加的,现在已经有了 HTTP API 和 WebUI,建议直接通过 HTTP 服务控制录播姬。
tool
子命令:工具箱
所有工具箱命令都含有 --json
和 --json-indented
两个参数,可以用来输出 JSON 格式的数据,便于脚本调用解析返回结果。如果不传入这两个参数则输出面向人类阅读的文本。
analyze
子命令:录播修复 分析 FLV 文件
<input>
输入的 FLV 文件路径。
--pipeline-settings
JSON 格式的传入数据处理系统的参数,目前只有一个 SplitOnScriptTag
参数,用于指定是否在 ScriptTag 之后分割数据。默认为 false
。
fix
子命令:录播修复 修复 FLV 文件
<input>
输入的 FLV 文件路径。
<output-base>
输出的 FLV 文件路径。因为修复可能会输出多个文件,实际写入的文件名会在这个基础上加上序号后缀。
--pipeline-settings
同 analyze
命令。
export
子命令:录播修复 导出原始分析数据
<input>
输入的 FLV 文件路径。
<output>
输出的 XML 文件路径。如果传入的是 zip 文件路径则会把分析数据打包成 zip 文件。
推荐使用 zip 格式,分析数据文本格式重复内容很多,压缩后体积会小很多。
danmaku-start-time
子命令:弹幕合并 读取弹幕文件开始时间
<inputs>
输入的弹幕文件路径,可以传入多个。
danmaku-merge
子命令:弹幕合并 合并弹幕文件
<output>
输出的弹幕文件路径。
<inputs>
输入的要合并弹幕文件路径,可以传入多个。
--offsets
弹幕文件的时间偏移量秒数,格式为逗号分隔的数字 5,10,15,20
。传入的数量必须和输入的弹幕文件数量一致,按照传入参数的顺序与弹幕文件一一对应。如果不传则会根据弹幕文件内记录的录制开始时间自动计算偏移量。