]> 127.0.0.1 Git - bili_danmu/.git/commitdiff
Improve 添加录播文件永久保存
authorqydysky <qydysky@foxmail.com>
Sun, 28 Jan 2024 16:06:44 +0000 (00:06 +0800)
committerqydysky <qydysky@foxmail.com>
Sun, 28 Jan 2024 16:06:44 +0000 (00:06 +0800)
README.md
Reply/stream.go
demo/config/config_K_v.json

index 08ea16a6c208eca0c1eed6d2a1a0c26da4668924..c36b2c42c08fd820c586e430d01ee2eb888af726 100644 (file)
--- a/README.md
+++ b/README.md
@@ -358,6 +358,8 @@ ass编码GB18030支持中文
 
 在[直播流Web服务](#直播流Web服务)中,点击进入任意一个目录,进行回放,如`弹幕回放`为`true`,则会将会将弹幕回放出来
 
+当`直播流保存天数`大于1时(默认4),当t日有1录播时,会尝试删除t-n日及之前的1or2个最早的录播。目录下有.keep文件将忽略(v0.12.7+)。
+
 #### 直播流回放Web服务
 启动Web流服务,为下载的直播流提供局域网内的流服务,提供flv、hls/mp4格式流。
 
index 40c46385ed03f3f7b513ab769d41cc47f45de032..219c7b38d8ae3166492dc5273e9e4150bb1b799b 100644 (file)
@@ -503,6 +503,9 @@ func (t *M4SStream) removeStream() (e error) {
                        )
                        for i, n := 0, len(list); i < n; i++ {
                                if list[i].IsDir() && len(list[i].Name()) > 20 {
+                                       if file.New(v+"/"+list[i].Name()+"/.keep", 0, true).IsExist() {
+                                               continue
+                                       }
                                        if tt, err := time.Parse("2006_01_02-15_04_05", list[i].Name()[:19]); err == nil {
                                                if ts := time.Since(tt).Seconds(); ts > d*24*60*60 && ts > oldest {
                                                        oldest = ts
index efa5ae4db43ab4929098012e3f72cf1b1c1f602e..5668d049889d3d63203af45f7acd6ef1005c01a0 100644 (file)
@@ -80,7 +80,7 @@
     "分段时长min-help": "=0为不启动功能,>0为指定分钟数时分段",
     "分段时长min": 0,
     "直播流保存位置": "./live",
-    "直播流保存天数-help": "当t日有1录播时,会尝试删除t-n日及之前的1or2个最早的录播。小于1的数将禁用此功能",
+    "直播流保存天数-help": "当t日有1录播时,会尝试删除t-n日及之前的1or2个最早的录播,目录下有.keep文件将忽略。小于1的数将禁用此功能",
     "直播流保存天数": 4,
     "直播流保存到文件": true,
     "仅保存当前直播间流-help": "启用此项,才会保存Ass",