]> 127.0.0.1 Git - bili_danmu/.git/commitdiff
Add fmp4切片下载超时s
authorqydysky <qydysky@foxmail.com>
Tue, 1 Aug 2023 16:33:36 +0000 (00:33 +0800)
committerqydysky <qydysky@foxmail.com>
Tue, 1 Aug 2023 16:33:36 +0000 (00:33 +0800)
Reply/stream.go
demo/config/config_K_v.json

index 90b9dd9659e9921488e5fa4abb5432c7966fa8ef..6958cd525bb2c99da5bdfb6b3725a90c730805cd 100644 (file)
@@ -712,7 +712,7 @@ func (t *M4SStream) saveStreamFlv() (e error) {
                                readTO        int64 = 5
                        )
                        leastReadUnix.Store(time.Now().Unix())
-                       if v, ok := c.C.K_v.LoadV(`flv断流超时s`).(float64); ok && int64(v) > readTO {
+                       if v, ok := t.common.K_v.LoadV(`flv断流超时s`).(float64); ok && int64(v) > readTO {
                                readTO = int64(v)
                        }
 
@@ -854,7 +854,7 @@ func (t *M4SStream) saveStreamFlv() (e error) {
                }
                cancel()
 
-               if v1, ok := c.C.K_v.LoadV(`flv断流续接`).(bool); ok && !v1 {
+               if v1, ok := t.common.K_v.LoadV(`flv断流续接`).(bool); ok && !v1 {
                        break
                }
                v.DisableAuto()
@@ -874,8 +874,13 @@ func (t *M4SStream) saveStreamM4s() (e error) {
                fmp4Decoder = &Fmp4Decoder{}
                keyframe    = slice.New[byte]()
                frameCount  = 0
+               to          = 3
        )
 
+       if v, ok := t.common.K_v.LoadV(`fmp4切片下载超时s`).(float64); ok && to < int(v) {
+               to = int(v)
+       }
+
        // 下载循环
        for download_seq := []*m4s_link_item{}; ; {
 
@@ -938,8 +943,8 @@ func (t *M4SStream) saveStreamM4s() (e error) {
                                        defer t.reqPool.Put(r)
                                        reqConfig := reqf.Rval{
                                                Url:         link.Url,
-                                               Timeout:     3000,
-                                               WriteLoopTO: 5000,
+                                               Timeout:     to * 1000,
+                                               WriteLoopTO: (to + 2) * 1000,
                                                Proxy:       t.common.Proxy,
                                                Header: map[string]string{
                                                        `Connection`: `close`,
index f67b989b99e131708697960ba01bc2e890646f07..689ee937642214c4d9e1bb1b9816d2c813f8330c 100644 (file)
@@ -71,6 +71,7 @@
     "直播流类型": "flv",
     "flv断流超时s": 7,
     "flv断流续接": true,
+    "fmp4切片下载超时s": 3,
     "直播流保存位置": "./live",
     "直播流保存天数-help": "当t日有1录播时,会尝试删除t-n日的1个最早的录播。小于1的数将禁用此功能",
     "直播流保存天数": 4,