From: qydysky Date: Tue, 1 Aug 2023 16:33:36 +0000 (+0800) Subject: Add fmp4切片下载超时s X-Git-Tag: v0.10.8~10 X-Git-Url: http://127.0.0.1:8081/?a=commitdiff_plain;h=bbf58aeec508e00630a111151fcb94f65ae33488;p=bili_danmu%2F.git Add fmp4切片下载超时s --- diff --git a/Reply/stream.go b/Reply/stream.go index 90b9dd9..6958cd5 100644 --- a/Reply/stream.go +++ b/Reply/stream.go @@ -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`, diff --git a/demo/config/config_K_v.json b/demo/config/config_K_v.json index f67b989..689ee93 100644 --- a/demo/config/config_K_v.json +++ b/demo/config/config_K_v.json @@ -71,6 +71,7 @@ "直播流类型": "flv", "flv断流超时s": 7, "flv断流续接": true, + "fmp4切片下载超时s": 3, "直播流保存位置": "./live", "直播流保存天数-help": "当t日有1录播时,会尝试删除t-n日的1个最早的录播。小于1的数将禁用此功能", "直播流保存天数": 4,