Config.toml
一个包含所有特性的配置文件
[Config]
PortalUsername = 'olive'
PortalPassword = 'olive'
# 日志输出目录
LogDir = '/Users/luxcgo/olive'
# 全局 OutTmpl
OutTmpl = "[{{ now | date \"2006-01-02 15-04-05\"}}][{{ .RoomName }}]"
# 全局 SaveDir,绝对路径
SaveDir = "/Users/luxcgo/olive/{{ .SiteName }}/{{ .StreamerName }}/"
# 日志等级 (0~6), 越大日志输出越多
LogLevel = 5
# 直播间状态查询间隔时间(秒)
SnapRestSeconds = 15
# 文件是否满足切割条件检测间隔时间(秒)
SplitRestSeconds = 60
# 直播间录播结束后执行命令的并发执行的个数
CommanderPoolSize = 1
# 解析器工作状态检查间隔时间(秒)
ParserMonitorRestSeconds = 10
# 部分网站需要配置 cookie
DouyinCookie = "__ac_nonce=06245c89100e7ab2dd536; __ac_signature=_02B4Z6wo00f01LjBMSAAAIDBwA.aJ.c4z1C44TWAAEx696;"
KuaishouCookie = "did=web_d86297aa2f579589b8abc2594b0ea985"
# biliup 配置项
BiliupEnable = false
CookieFilepath = '/Users/lucas/github/olive/cookies.json'
Threads = 6
MaxBytesPerSecond = 2097152
[[Shows]]
# 全局唯一字符串,因为配置修改会实时监控实时更新,故以此 ID 作为标识这一个录制的配置项
ID = 'a'
# 平台名称
Platform = "huya"
# 房间号
RoomID = "518512"
[[Shows]]
ID = 'b'
Enable = false
Platform = 'bilibili'
RoomID = '1319379'
StreamerName = 'test1'
OutTmpl = '[{{ .StreamerName }}][{{ .RoomName }}][{{ now | date "2006-01-02 15-04-05"}}].flv'
Parser = 'flv'
SaveDir = ''
PostCmds = '[{"Path":"oliveshell","Args":["/bin/zsh","-c","echo $FILE_PATH"]},{"Path":"olivebiliup"},{"Path":"olivetrash"}]'
SplitRule = '{"FileSize":2000000000,"Duration":"1h"}'
Config.toml文件里的[[Shows]]块的PostCmds这个配置项可以用来在录制结束后运行shell指令,你可以把rclone命令填在这里实现录制完成后上传,我是这么写的
PostCmds = '[{"Path":"oliveshell","Args":["/bin/zsh", "-c", "rclone copy $FILE_PATH anime:LiveRecords/包包"]},{"Path":"olivetrash"}]'
复制代码
这句话的意思是:每段录制完成后
①利用程序的oliveshell功能运行
rclone copy $FILE_PATH anime:LiveRecords/包包
复制代码
rclone命令不用解释了吧,其中的$FILE_PATH会由olive程序自动传过来
②上传完成后,用程序自带的olivetrash功能删除已上传的文件