From a782d6d7dc446e82ab77e305a1e2237c09c8fee2 Mon Sep 17 00:00:00 2001 From: qydysky Date: Sat, 18 Nov 2023 13:19:25 +0800 Subject: [PATCH] =?utf8?q?Improve=20=E6=8C=87=E5=AE=9A=E6=88=BF=E9=97=B4?= =?utf8?q?=E5=BD=95=E5=88=B6=E5=8C=BA=E9=97=B4=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- Reply/F/recStartEnd/recStartEnd.go | 12 +++++++++--- demo/config/config_K_v.json | 2 +- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index e09f236..40c156a 100644 --- a/README.md +++ b/README.md @@ -82,7 +82,7 @@ - `start`时检查是否在直播,是则开始录制,如已在录制则切片。 - `end`时如已在录制则停止录制。 -- 在开播时,若在`start`与`end`之间,则录制,不在则不录制(仅检查同时有`start`,`end`的`fromTo`)。 +- 存在同时有`start`,`end`的`fromTo`,则开播时,若在`start`与`end`之间,则录制。不存在同时有`start`,`end`的`fromTo`,则一开播就录制。 - 5s内只能触发一个`fromTo`,所以同房间各`start`、`end`之间间隔不要少于5s。 ```json diff --git a/Reply/F/recStartEnd/recStartEnd.go b/Reply/F/recStartEnd/recStartEnd.go index 699c5a2..2c66975 100644 --- a/Reply/F/recStartEnd/recStartEnd.go +++ b/Reply/F/recStartEnd/recStartEnd.go @@ -87,12 +87,18 @@ func recStartCheck(ctx context.Context, ptr *c.Common) error { if setting, ok := roomSetting[ptr.Roomid]; ok { now := time.Now() t := now.Hour()*3600 + now.Minute()*60 + now.Second() + 1 + var hasSpace = false for _, v := range setting { - if v.start != 0 && v.end != 0 && t <= v.end && t >= v.start { - return nil + if v.start != 0 && v.end != 0 { + hasSpace = true + if t <= v.end && t >= v.start { + return nil + } } } - return errors.New("当前不在设定时间段内") + if hasSpace { + return errors.New("当前不在设定时间段内") + } } return nil } diff --git a/demo/config/config_K_v.json b/demo/config/config_K_v.json index 531e455..a8e2cfe 100644 --- a/demo/config/config_K_v.json +++ b/demo/config/config_K_v.json @@ -104,7 +104,7 @@ "after":["ffmpeg","-i","0.{type}","-y","-c","copy","1.{type}"] } ], - "指定房间录制区间-help":"指定roomid的房间在指定时间段内将会开启录制.start时检查是否在直播,是则开始录制,如已在录制则切片.end时停止录制.在开播时,若在start与end之间,则录制,5s内只能触发一个fromTo", + "指定房间录制区间-help":"指定roomid的房间在指定时间段内将会开启录制.start时检查是否在直播,是则开始录制,如已在录制则切片.end时停止录制.在开播时,若同时有start与end的fromTo,且当前在start与end之间,则录制,若无同时有start与end,则开播就录制。5s内只能触发一个fromTo", "指定房间录制区间":[ { "roomid":0, -- 2.39.2